Qt/Embedded 开发环境包含的示例
一/二 编辑工程文件
Qt源码库的路径下自带了一系列的examples例程,方便用户进行学习和参考,可以取其中的一些例程,编译后运行测试之前所搭建的Qt/E编译环境。
1.源码路径
以Qt自带analogclock例程为例。例程所在路径如下:
Qt源码目录:/examples/widgets/analogclock
qmake编译工具所在路径:/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake
2.使用qmake预编译
在宿主机analogclock例程源码所在路径下使用qmake命令生成Makefile文件,使用qmake命令预编译过程如下。
[root@localhost
qt-everywhere-opensource-src-4.7.0]# cd
examples/widgets/analogclock/
[root@localhost
analogclock]# ls
analogclock.cpp
analogclock.h
analogclock.pro main.cpp
[root@localhost
analogclock]#
/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake
[root@localhost
analogclock]# ls
analogclock.cpp
analogclock.h
analogclock.pro main.cpp Makefile
2.使用make编译
在宿主机计算器例程源码所在路径下使用make命令编译该工程,编译过程如下。
[root@localhost
analogclock]# make
[root@localhost
analogclock]# ls
analogclock analogclock.cpp analogclock.h
analogclock.pro main.cpp Makefile
[root@localhost
analogclock]#
编译成功后,会在当前目录下生成Qt/E可执行文件analogclock。
注意:经过Qt/E环境编译后得到的可执行程序,只能在基于Cortex-A8处理器的目标板上执行,不能在宿主机上运行。
二/二、挂载和运行Qt/E ARM应用程序
1.创建宿主机端Qt/E的NFS共享目录
在宿主机共享目录/CBT-SuperIOT/下,建立Trolltech目录。后续Qt/Embedded应用程序都将在此目录下共享到ARM设备端,并在ARM设备端执行Qt/E程序。
需要在该目录下搭建好Qt/E环境,也就是拷贝前面编译好的Qt/E动态库以及应用程序到此目录下。
[root@localhost
qt-everywhere-opensource-src-4.7.0]# cd /CBT-SuperIOT/
[root@localhost
CBT-SuperIOT]#
mkdir
Trolltech
[root@localhost
CBT-SuperIOT]# cd Trolltech/
[root@localhost
Trolltech]#
2.复制Qt/E库及插件等资源到NFS 共享目录
[root@localhost
Trolltech]# cp
/usr/local/Trolltech/QtEmbedded-4.7.0-arm/
./ -a
[root@localhost
QtEmbedded-4.7.0-arm]# ls
bin imports include lib mkspecs
plugins translations
[root@localhost
QtEmbedded-4.7.0-arm]#
3.拷贝应用程序到NFS
共享目录
[root@localhost
QtEmbedded-4.7.0-arm]# cp
/home/cbt/Qt4/Qt4arm-4.7.0/qt-everywhere-opensource-src-4.7.0/examples/widgets/analogclock/analogclock
./
[root@localhost
QtEmbedded-4.7.0-arm]# ls
bin imports include lib mkspecs
plugins translations analogclock
4.ARM端挂载NFS共享目录
启动Cortex-A8嵌入式智能终端(ARM端),连好网线、串口线。在ARM端控制台的终端窗口中使用“mount”命令挂载宿主机实验目录。
[root@Cyb-Bot
/]# mount -t nfs -o nolock 192.168.1.7:/ CBT-SuperIOT
/mnt/nfs
5.设置环境变量(ARM
端)
执行上述挂载命令后,宿主机上的NFS共享目录将会挂载到ARM端。挂载点为:
/mnt/nfs/Trolltech/QtEmbedded-4.7.0-arm/。
在ARM端控制台按以下步骤执行相应命令,通过挂在点进入宿主机NFS共享目录Trolltech下的QtEmbedded-4.7.0-arm目录。
[root@Cyb-Bot
/]#cd /mnt/nfs/Trolltech/QtEmbedded-4.7.0-arm/
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# ls
analogclock imports lib plugins
bin include mkspecs
translations
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]#
设置ARM端的环境变量,设置过程如下:
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# export TSLIB_TSDEVICE=/dev/touchscreen-1wire
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# export TSLIB_CONFFILE=/etc/ts.conf
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# export POINTERCAL_FILE=/etc/pointercal
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# export WS_MOUSE_PROTO=tslib:/dev/touchscreen-1wire
6.执行Qt/E
程序
在ARM系统中的NFS Qt/E目录下执行以下命令,QT应用程序需要附带“-qws”命令参数。
[root@Cyb-Bot
QtEmbedded-4.7.0-arm]# ./analogclock
–qws
如果第一次使用触摸屏,需要进行校准,请在终端输入ts_calibrate
命令完成屏幕校准即可。在ARM端运行Qt/E效果如图7.10所示。
图7.10 Qt自带analogclock运行界面
注意:由于平台出厂时候系统文件系统中已经含有相同环境及版本的Qt/E
动态库及相关资源,因此本实验运行的例程,实际使用的是ARM 系统中的动态库文件来运行的。当然,用户如果熟悉Qt/E 的运行环境,同样也可以将前面章节编译生成的Qt/E库和资源下载到ARM 系统的相关目录中实验。