张明华 菏泽学院物理与电子工程系 山东菏泽 274000
基于Linux操作系统的Qt开发平台的搭建
张明华 菏泽学院物理与电子工程系 山东菏泽 274000
【文章摘要】
随着嵌入式技术的高速发展,为了让用户能够更加直观方便的使用各种嵌入式系统,系统必须提供一种应用于特殊场合的人机交互接口,也就是图形用户界面(GUI,Graphics User Interface)。本文介绍了一种跨平台的图形用户界面应用程序的开发。基于ARM硬件平台与Qt/Embedded,重点阐述了Qt开发环境的搭建问题。
【关键词】
用户界面;Qt/Embedded;平台搭建
图形用户界面作为人机交互界面的主流,广泛应用于各种类型计算机的系统软件和应用软件。而嵌入式系统用户界面和用户体验已经成为决定其能否被用户接受、市场能否成功的重要因素。
Qt由挪威TrollTech公司出品,它是面向嵌入式系统的Qt版本,其类库完全采用C++封装,许多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded上,与X11版本的Qt在最大程度上接口兼容。Qt/Embedded可以运行在多种不同架构处理器所部署的嵌入式Linux系统上,Qt/ Embedded凭借其丰富的控件资源和良好的可移植性,越来越被广泛地应用。
一般来说,Qt/Embedded程序的发布都是先在装有Linux操作系统的PC上来完成开发,然后再将其发布到嵌入式Linux系统下。在一台装有Linux操作系统的PC机上建立Qt/Embedded开发环境,大致分为以下几步:①Qt Creator集成开发环境的搭建;②arm-linux-gcc交叉编译环境的搭建;③触摸屏校准库tslib的编译安装;④搭建Qt/ Embedded开发环境。
(1)安装gcc/g++编译器。在Qt Creator安装过程中,会用到gcc/g++编译器,因此在安装Qt Creator之前应首先安装gcc/g++编译器。
$sudo apt-get install gcc g++
(2)安装Qt Creator。安装Qt Creator时,apt-get包管理系统会自动安装dev-tools、designer、doc、qtconfig、 qdevelop等软件。
$sudo apt-get install qtcreator
交叉编译是指在一个平台上生成可以在另一个平台上执行的代码。arm-linux-gcc作为基于ARM平台的编译器,其编译出来的程序可以在ARM平台上直接运行,搭建过程如下。
(1)解压缩arm-linux-gcc-3.4.5.tar. gz。
$tar zxvf arm-linux-gcc-3.4.5.tar.gz
(2)将arm-linux-gcc加入系统命令路径。编辑“/etc/profile”文件,添加将armlinux-gcc存储路径追加赋值给系统环境变量PATH的命令,实现开机自动加载arm-linuxgcc命令的要求。
PATH=$PATH:/usr/arm-linuxgcc/3.4.5/bin
其中,/usr/arm-linux-gcc是交叉编译器的安装目录。另外,如果是需要立即使用此命令,需要在终端内执行如下命令。
$PATH=/usr/arm-linux-gcc/3.4.5/ bin:$PATH
嵌入式设备中触摸屏的使用非常广泛,但是触摸屏的坐标和显示屏的坐标是不对称的,需要检验。这里,本文校验触摸屏使用的软件是tslib,它能够为触摸屏驱动获得的采样提供滤波、去抖和校准的功能。编译安装触摸屏校准库的具体步骤如下。
(1)解压缩tslib-1.3.tar.bz2。使用tar命令将下载的压缩文件解压。
$sudo tar jxvf tslib-1.3.tar.bz2
运行tslib-1.3目录中的autogen.sh文件,已生成configure文件。
$./autogen.sh
操作成功后,将会输出相应的提示信息,可通过ls命令查看目录下是否生成了configure文件。
(2)制定交叉编译器及配置安装信息。tslib编译安装之前,需要指定其使用armlinux-gcc交叉编译器进行编译,此外还需要对tslib安装进行相应的配置,并需要检查当前的环境是否满足安装的条件。
$CC=arm-linuc-gcc
$export PLUGIN_DIR=$PWD/plugins
$./configure –host=arm-linux –prefix=$PWD/../tslib –enableinputapi=no
(3)编译安装。tslib的编译安装步骤遵循常规软件的编译安装步骤,只须在终端执行以下命令。
$sudo make
$sudo make install
Qt/Embedded采用编译安装的方式,安装步骤如下。
(1)将qt-embedded-linuxopensource-src-4.5.2.tar.gz解压缩到/opt目录下。
(2)运行configure程序对安装进行相应的配置,以及检查当前的环境是否满足安装的条件,该命令的选项较多。
$./configure -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -nolibtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -xplatform qws/ linux-arm-g++ -embedded arm -depths 4,8,16,32 -little-endian -qt-kbd-usb -noopenssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -noxrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -noqvfb -qt-gfx-linuxfb -no-gfx-qvfb -nokbd-qvfb -no-mouse-qvfb -no-webkit -confirm-license -qt-mouse-tslib -I/Opt/ Tslib/3.4.5/include -L/Opt/Tslib/3.4.5
(3)在Qt/Embedded安装配置信息无报错的情况下,便可继续进行Qt/Embedded的编译安装,其步骤遵循常规软件的安装编译步骤。
本文阐述了如何利用Qt在Linux操作系统下搭建一个嵌入式的GUI 开发平台。对于嵌入式图形用户界面开发来说,虽然应用程序的代码编写直接关系到一个工程的成功与否,但在编写代码之前,开发环境的搭建往往更为重要,只有在有了一个完好的开发平台以后,才可以真正开始应用程序的开发。
【参考文献】
[1]苟军年.ARM Linux 嵌入式软件开发平台的搭建[J].计算机时代,2010.
[2]林继民,吴怡,林萧.基于Linux 嵌入式系统开发平台的构建及应用[J].嵌入式技术,2010.
张明华(1985-),男,山东菏泽人,助教,硕士
【作者简介】
基金项目:菏泽学院科学研究基金(XY14B003).