基于Qt/E的嵌入式GUI的研究及其移植
$ mkdir -p /usr/local/arm
$mv ./2.95.3 /usr/local/arm
然后,在环境变量PATH中添加路径,就可以直接使用arm-linux-gcc命令了。
$export PATH=/usr/local/arm/2.95.3/bin:$PATH
2) 交叉编译Qt/E库
安装完交叉工具链之后,需要对Qt/E软件包进行交叉编译。将Qt/E的源代码拷贝到另外一个目录下,依次执行如下命令序列:
tar xfz qt-embedded-free-3.2.1.tar.gz
cd qt-embedded-free-3.2.1
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/arm/2.95.3/bin:$PATH
./configure -embedded arm -thread
Qt/E的配置选项可以参考./configure –help。其中比较关键的是-embeddded arm 表示配置为目标板为ARM的嵌入式用途,在编译过程中会进行多级优化以减小体积,提高效率。
3) 交叉编译Qt/E应用程序。
有了交叉工具链以及经过交叉编译的Qt/E库之后,就可以将驱动程序或应用程序进行编译,然后发布到ARM平台上。
首先,编写项目工程文件.pro,然后用qmake工具生成Makefile文件,最后调用Make指令编译、链接即可。这个过程中,在生成 Makefile文件之前,需要修改环境变量使其指向交叉编译后的Qt/E库所在目录。最终生成ARM平台目标代码,即可在目标平台上运行测试。
5 总结
嵌入式产品的广泛应用带动了图形用户界面(GUI)的迅速发展,嵌入式系统需要一个高性能、高可靠的GUI支持。Qt/E延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型使得嵌入式Linux系统中的应用程序开发更加便捷。由于Qt/E本身面向高端的手持设备和移动设备,将成为未来嵌入式系统的主流GUI。
本文创新观点:
本文首先比较当前流行的国内外几种嵌入式GUI系统的实现方式与特点,分析它们的优缺点。着重介绍了基于Qt的嵌入式GUI——Qt/Embedded,并通过举例来具体说明Qt/Embedded应用程序的移植过程。
参考文献:
[1] 丁丁,习勇,魏急波. 三种主流嵌入式图形用户界面的移植及性能比较 [J]. 电子产品世界,2004.5。
[2] 倪继利. Qt及Linux操作系统窗口设计[M]. 北京:电子工业出版社,2006-04。
[3] Xteam(中国)软件技术有限公司. Qt程序设计,清华大学出版社。
[4] Arthur Griffth著,高寿福等译. KDE2/Qt编程宝典[M].北京:电子工业出版社,2001-01。
[5] Qt参考文档 http://www.qiliang.net/qt/index.html
[6] 郭磊,何波,于青,王乾. 基于QTE的嵌入式Linux下可视化打印设计[M]. 微计算机信息 2007 3-2: 15-16。
评论