您的位置:首页 > 编程语言 > Qt开发

Qt-4.7.2在dm365下的移植

2013-06-24 19:28 183 查看
此篇为我的上一篇博客“Qt-4.7.2及QtEmbedded-4.7.2在ubuntu11.10下的安装”后续,主要参考:博客http://blog.chinaunix.net/uid-25652733-id-291521.html,同样,参照他的博客中关于dm365下的移植来做,我又遇到了新的问题,主要的问题出现在configure上,按照他的configure参数配置成arm版本的Qt库后,我编译的helloworld程序,在开发板上运行时,出现只显示一个绿底的小鼠标,同时CPU占用率高达97%的问题,后来在CSDN论坛里,发现导致这一问题的原因可能出现在configure上,configure中的某些配置参数可能在我的开发板环境下不支持,参照其他configure安装后,helloworld移植成功,步骤如下:

1.解压Qt源码包qt-everywhere-opensource-src-4.7.2.tar.gz至~/QT/qt-everywhere-opensource-src-4.7.2目录后,进入该目录,拷贝~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-arm-g++目录至~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-dm365-g++,并修改~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-dm365-g++目录下的qmake.conf文件,修改所有的“arm-linux-”为dm365的交叉编译工具链“arm_v5t_le-”(vi下可用“:%s/arm-linux-/arm_v5t_le-”替换功能)。

2.在~/QT/qt-everywhere-opensource-src-4.7.2目录下,配置生成Makefile文件
$./configure -prefix /usr/local/Trolltech/QtEm-4.7.2-dm365_v2 -opensource -confirm-license -embedded arm -release -shared -fast
-no-largefile -no-qt3support -qt-libtiff -qt-libpng -qt-libjpeg -make tools -nomake examples -nomake docs -nomake demos -no-cups -multimedia -xplatform qws/linux-dm365-g++ -no-qvfb -no-webkit

说明:
-prefix/usr/local/Trolltech/QtEm-4.7.2-dm365 (make install安装路径)
-opensource(自由版本)
-confirm-license(遵守协议)
-embeddedarm(嵌入式arm)
-release(编译和链接Qt时关闭调试)
-shared(使用Qt动态库)
-fast(只对库及子目录make来快速配置Qt)
-no-largefile(使大文件支持无效)
-no-qt3support(关闭Qt3支持功能)
-qt-libtiff(使用tiff库)
-qt-libpng(使用png库)
-qt-libjpeg(使用jjpeg库)
-maketools(编译tools)
-nomakeexamples(不编译examples)
-nomakedocs(不编译docs)
-nomakedemos(不编译demos)
-no-cups(不编译cups)
-multimedia(编译Qt多媒体模块)
-xplatformqws/linux-arm-g++
-no-qvfb(不编译qvfb模块)
-no-webkit(不编译webkit
用了上面的configure后,我的helloworld测试程序在dm365开发板上就可以跑起来了,而且cpu占用率也低了下来,我没有仔细研究之前到底是哪一个参数导致的问题,另外,我的lcd不带触摸屏功能,因此没有加入触摸屏相关配置(原博客中有),而且我认为以后真正界面做起来后需要其他的功能可能还需要回来研究修改configure,总之一步一步边做边学,先把当前问题解决,继续向下,configure后就和之前在X11平台下安装一样了
$make
$make install(同样,make这步时间比较长,makeintsall可能需要加sudo)
安装完成后,就可以在configure下指定的安装目录中看到安装文件了,我这里是/usr/local/Trolltech/QtEm-4.7.2-dm365。
3.Qt库的移植及环境变量的配置
拷贝安装目录下lib库中的所有文件/usr/local/Trolltech/QtEm-4.7.2-dm365/lib至dm365开发板文件系统相对应的目录下,我这里是~/dm365/filesys/usr/local/Trolltech/QtEm-4.7.2-dm365/lib,建议将lib打包压缩后拷贝。修改开发板文件系统中/etc/profile文件,加入:
exportset QTDIR=/usr/local/Trolltech/QtEm-4.7.2-dm365
exportPATH=$QTDIR:$PATH
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
exportQWS_DISPLAY=LinuxFb:/dev/fb0
exportQWS_SIZE=320*240
exportQWS_DISPLAY="LinuxFb:mmWidth50:mmHeight65:0"
exportQWS_SW_CURSOR
exportQT_PLUGIN_PATH=$QTDIR/plugins/
exportQT_QWS_FONTDIR=$QTDIR/lib/fonts
到这里,Qt环境的移植工作就完成了,下面来进行测试。

4.同样使用我上一篇博客中的helloworld工程,当然也要先在“工具”-->“选项”-->“Qt4”-->“Qt版本”中设置新的qmake路径,方法在上一篇博客中介绍过,重新构建helloworld工程前同样需要在“项目”-->“构建设置”中选择Qt-4.7.2-dm365的Qt版本,“运行设置”中添加参数“-qws”。编译好后将生成的helloworld工程目录拷贝到dm365开发板文件系统中,即可运行。
最后,要感谢csdnQt论坛里遇到过此类问题的前辈,看了你们的帖子才意识到问题的可能所在,尤其感谢ID为“zw545378330的朋友,给了我他的configure配置为参考。

Andy-Binary
donganwu0928@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: