APP下载

Qt/Embedded的安装配置和使用

2015-09-14殷松瑜

物联网技术 2015年8期

殷松瑜

摘 要:嵌入式开发大都选择开源的Linux作为开发平台,开源软件虽然功能很强,但配置安装需要精通计算机很多专业知识。在Linux中大多数软件提供的是源代码,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。因此,文中给出了如何有效利用make和makefile工具来大大提高项目的开发效率的实现方法。

关键词:Qt;Embedded;Makefile;开发效率

中图分类号:TP368.1 文献标识码:A 文章编号:2095-1302(2015)08-00-02

0 引 言

在嵌入式开发过程中,要把Qt程序移植到嵌入式开发平台,在安装Qt的过程中,我们会碰到不少问题,本文摸索到了一些经验,希望和大家一起研究探讨。

1 实验环境简介

笔者的实验环境硬件是:UP-CUP6410-II型网关部分嵌入式实验平台,软件是:Vmware Workstation+Fedora Core 8+MiniCom/Xshell+ARM-LINUX交叉编译开发环境,Qt软件包:qt-embedded-linux-opensource-src-4.4.0.tar. bz2,tslib-l.4.tar.bz2。

Qt/Embedded(简称QtE)是一个专门为嵌入式系统设计图形用户界面的工具包。Qt是挪威Trolltech软件公司的产品,它为各种系统提供图形用户界面的工具包,QtE就是Qt的嵌入式版本。QtE虽然公开代码和技术文档,但是它不是免费的,当开发者的商业化产品需要用到他的运行库时,必须向Trolltech公司支付license费用(每套3美金),如果开发的东西不用于商业用途则不需要付费。QtE由于平台无关性和提供了很好的图形用户界面编程接口,在许多嵌入式系统中得到了广泛的应用,是一个成功的嵌入式GUI产品。

2 配置编译QT/Embedded环境

下面就是配置编译Qt/Embedded环境的过程:

prefix/usr/local/Trolltech/Qt- embedded-4.4.0其中-embedded arm参数指定支持ARM系列CPU平台,如果不加说明默认支持X86系列CPU平台,-xplatform qws/linux-arm-g++参数指定跨平台编译器的安装路径,-prefix参数指定QtE环境的安装路径;-qt-mouse-tslib参数指定了该QT/Embedded环境支持触摸屏设备;$PWD 表示当前目录,-I与-L参数指定了触摸屏设备的头文件以及库文件路径,当然,两个参数的指定要与实际编译tslib库时候安装路径为准。-depths 8,16参数指定支持8,16位的显示颜色深度。-fast参数指定快速编译安装Qt/Embedded环境。

./configure配置选项过长,使用该命令时请仔细检查不要写错。Configure的其他具体配置用户可以通过-help命令查看:[root@localhost qt-embedded-linux-opensource-src-4.4.0]#./configure --help在输出的许可证提示符下,输入“yes”同意,回车后即可进入Qt/Embedded库的配置过程,注意yes的大小写及全称。

3 编译QtE库

4 安装QtE库

5 安装体会

其实还是路径/usr/local/trolltech/有问题,连接程序找不到相关链接库文件/usr/local/Trolltech/Qt-embedded-4.4.0/lib/libts-0.0.so.0。

最后直接打开目录下的配置文件Makefile进行修改,找到参数项LFLAGS 直接添加LFLAGS=/usr/local/Trolltech/Qt-embedded-4.4.0/lib/libts-0.0.so.0,保存退出再次编译后才成功,并成功移植到ARM平台。

[root@localhost testmyqt-x11]# makearm-linux-g++ /usr/local/Trolltech/Qt-embedded-4.4.0/lib/libts-0.0.so.0 -o testmyqt-x11 main.o myqt.o moc_myqt.o -L/home/uptech/QT4/for_arm/tslib1.4-install/lib -L/usr/local/Trolltech/Qt-embedded-4.4.0/lib -lQtGui -lQtNetwork -lQtCore -lpthread

参看目标文件相关属性,就是可以移植到ARM平台的可执行文件。

[root@localhost testmyqt-x11]# file testmyqt-x11testmyqt-x11: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped

6 结 语

嵌入式开发大都选择开源的Linux作为开发平台,开源软件虽然功能很强,但配置安装需要精通很多计算机专业知识。在Linux中大多数软件提供的是源代码,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。有效的利用make和makefile工具可以大大提高项目开发效率。同时掌握make和makefile之后,您再也不会对Linux下的应用软件手足无措了。

参考文献

[1] 博创科技.UP-CUP6410-II型物联网嵌入式综合实验平台实验指导书(网关部分) [M]. 北京:北京博创科技,2011.

[2]徐成.嵌入式Linux系统实训教程[M].北京:人民邮电出版社,2010.

[3]常华.嵌入式系统原理与应用[M].北京:清华大学出版社,2013.