标题:问个小白的问题,具体怎么做才能在ARM开发板上运行qt程序呢?
作者:绘梦之卷
日期:2012-06-08 10:43
内容:
用虚拟机VM安装的Red Hat Enterprise Linux5
gcc version 4.1.2
arm-linux-gcc 4.3.2
开发板移植内核版本 2.6.22.6
之前,Linux上没有安装过任何版本Linux。
最近想移植Qt到ARM9的开发板上,说是移植,其实就是想让qt编写的程序在开发板上跑起来,能在开发板的LCD上显示窗口。
所以,在网上看了很多Qt移植的文章,但是Qt变化和更名也确实有点快,网上大多用的Qtopia已经没有了,现在类似Qt/E的只有现在下载的qt-everywhere-opensource-src-4.8.2.tar.gz,然后还有一个就是qt/X11了(没有下载这个)。
网上关于qt-everywhere-opensource-src-4.8.2.tar.gz的安装和移植的文章不多,但还是有的,于是按照有限的文章的提示进行安装,修改了qt-everywhere-opensource-src-4.8.2/mkspace/qws/linux-arm-g++/qmake.conf文件(主要设置为arm可用的版本),然后./configure(后面还有一些配置),之后make通过,但在make install上出错,网上也没有相关的出错分析,实在加载一个库的时候“Stop”了,具体怎么搞定这个库我是不知道的。之前./configure之后有提示是有gmake,于是试了一下,gmake通过,然后使用gmake install成功。设置环境变量之后qmake可用,最后也可以生成相应的可执行文件,不过是二进制文件,要在开发板上运行的。根据文章提示,复制了三个库文件到开发板根文件系统的/lib目录下的相应目录中,同时开发板端设置环境变量,但是执行qmake编译出的二进制文件时提示“Illegal instruction”。
相信在这一板块里过来人还是很多的,希望给予指点,主要是移植Qt程序要做哪些工作不是很清楚。比如:
对根文件系统有什么要求?加入相应的库文件肯定是必须的了。
对内核有什么要求?现在已经修改了LCD部分驱动,启动开发板时可以显示Linux Logo,是否还要移植触摸屏驱动呢?
我在XP系统下安装有QtSDK,是否Linux宿主机环境下也要安装Qt的开发环境以提供相应的库文件呢?
因为是刚刚开始学习嵌入式Linux,Qt更是刚刚 ..
#1 回 楼主(绘梦之卷) 的帖子 [ppdayz 06-08 12:17]
步骤不对。。
其实很简单
第一,在环境变量中把arm-linux-g++设置正确
$ arm-linux-g++ -v
Using built-in specs.
..... .....
gcc version 4.5.1 (ctng-1.8.1-FA)
第二,在configure的时候配置正确就行了
-xplatform qws/linux-arm-g++
这个要有
就可以了
如果实在不明白,可以去下个友善6410的文档,里面说的很清楚
#2 回 1楼(ppdayz) 的帖子 [绘梦之卷 06-08 14:37]
您好!
这是我根据网上的一些帖子所使用的configure:
./configure -prefix /usr/local/qt-4.8.2-linux-arm-install -embedded arm -host-little-endian -no-cups -no-3dnow -nomake examples -nomake demos -nomake docs -xplatform /qws/linux-arm-g++。
使用arm-linux-g++ -v得到的信息是:
Using built-in specs.
……
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
请问以上这两项有问题吗?
我在友善官网下载了一个《MINI6410 Qt4和Qtopia编程指南》。可是这个还是在用Qtopia啊,不是说现在已经没有Qtopia了吗?Qt官网貌似也不提供Qtopia的下载了。
#3 [xiongyu 06-13 12:45]
qt-everywhere-opensource-src-4.8.2.tar.gz
这个其实就是QT的源码, 不分你什么LINUX , WINDOWS X86 ARM。
这个就是大一统的源码包。
make步骤没出错 ,证明是编译好的
make install 只是一个 copy的过程, 出错了应该是你没权限之类的吧
#4 [xiongyu 06-13 12:46]
还有, 如果你的编译器是友善之臂提供的, 我建议你换成4.4.3
4.3.4 有很多BUG
#5 回 3楼(xiongyu) 的帖子 [绘梦之卷 07-09 11:29]
我想问一下,这个Qt的源码究竟有什么用处呢,是要编译出符合相应架构的库文件吗?还是像Win下的SDK,可以直接进行开发,最终可以运行的Qt程序要怎样才能在开发板上跑起来呢?谢谢。