接下来要编译qt4.7.0的Arm版本了!编译前确认安装了arm-linux-gcc,我的版本是4.5.1,试试看吧!以前4.3.2是没问题的!
将原来的解压缩目录删除了,因为pc上的qt已经装好了。然后mkdir arm-qt4.7.0,将源文件解压缩到这个文件夹下。命令:tar -zxvf qt-everywhere-opensource-src-4.7.0.tar.gz -C ./arm-qt4.7.0
然后,cd arm-qt4.7.0/ ;qt-everywhere-opensource-src-4.7.0/;大致思路依旧如“Fedora14 源码安装qt4.7.0 PC版 和 arm版 过程 及问题解决”第一篇里的三步。
一、
cd /usr/local/Trolltech/;
[root@localhost Trolltech]# ls
Qt-4.7.0 QtCreator
[root@localhost Trolltech]# mkdir arm-Qt-4.7.0
先创建个arm-Qt-4.7.0,这是arm版的qt4.7.0安装位置。
命令:echo yes |./configure -prefix /usr/local/Trolltech/arm-Qt-4.7.0 -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon
就可以configure了,configure主要参数说明:
-embeded arm:表示将编译针对arm平台的embedded版本
-xplatform qws/linux-arm-g++: 表示使用arm-linux交叉编译器进行编译
-qt-mouse-tslib:使用tslib驱动触摸屏
-prefix /usr/local/Trolltech/arm-Qt-4.7.0 : 表示arm版的qt最终安装位置,注意移植的时候也要再目标板的文件系统中创建相同文件夹,部署到板子上的相同路径。
二、make
三、make install
一路下来没有问题。
接下来就是要将编译好的arm-Qt-4.7.0拷贝到目标板子上了,由于快捷方式不好拷贝,这里先将其压缩,将压缩文件拷贝到板子里,在终端就行解压缩就Ok了。ls -lh 。。。查看文件大小,压缩包才31M。
奶奶的,没想到解压缩到板子上的时候总是提示错误如下:
arm-Qt-4.7.0/examples/sql/drilldown/
arm-Qt-4.7.0/examples/sql/drilldown/view.cpp
arm-Qt-4.7.0/examples/sql/drilldown/imageitem.h
arm-Qt-4.7.0/examples/sql/drilldown/images/
arm-Qt-4.7.0/examples/sql/drilldown/images/berlin.png
arm-Qt-4.7.0/examples/sql/drilldown/images/redwood.png
arm-Qt-4.7.0/examples/sql/drilldown/images/beijing.png
arm-Qt-4.7.0/examples/sql/drilldown/images/brisbane.png
arm-Qt-4.7.0/examples/sql/drilldown/images/oslo.png
arm-Qt-4.7.0/examples/sql/drilldown/images/munich.png
arm-Qt-4.7.0/examples/sql/drilldown/drilldown.pro
arm-Qt-4.7.0/examples/sql/drilldown/view.h
tar: write error: No space left on device
说我的空间不够了!不知道咋回事,重复了两次还是这,删除了板子里的一些东西 还是在解压缩examples这块卡住了。连师父给我的U盘都差点搞报废了,还是没报废 ,嘿嘿。。。。。。。。。。一气之下,将生成的arm-Qt-4.7.0下的examples全删了,然后建tar包,再拷过去解压缩到板子上的对等位置。这次通过了。
我忽然想到,在编译arm的qt库的时候,configure里是可以设置的,我竟然忘了,因为移植的时候是不需要examples、docs、demo这些没用的东西的,而且不需要支持qt3,竟白浪费这么多空间和时间!因此,更改后的编译arm版的qt库的configure命令为:
echo yes |./configure -prefix /usr/local/Trolltech/arm-Qt-4.7.0 -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon -nomake examples -nomake docs -nomake demos -nomake tools -no-qt3support
接下来,在板子的终端里设置环境变量:
设置环境变量 板子里:
export QTDIR=/usr/local/Trolltech/arm-Qt-4.7.0
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
可借鉴http://bbs.witech.com.cn/thread-9966-1-1.html,点tools的options将arm版的qmake添加进去,然后添加一个gcce,选中arm-linux-gcc或者arm-linux-g++ 的路径。但遗憾的是,设置完了之后,依然无法再qtcreator下 直接编译、调用arm版的qmake。
真操蛋!只能手动将原工作空间里的文件夹拷贝出来,拷贝到一个arm-qtWorkspace的工作空间下,然后进去:
/usr/local/Trolltech/arm-Qt-4.7.0/bin/qmake -project
/usr/local/Trolltech/arm-Qt-4.7.0/bin/qmake
make
如此三步,生成可执行文件!