在安装QT/Embedded之前,首先需要建立QT/Embedded的实验目录。例如:手动建立/home/uptech/QT4/for_arm目录;
后续所有相关操作都会在此目录下进行。
相关资源的下载:https://pan.baidu.com/s/1U8ve38CJpzG-GpBGxEnhQA
编译tslib1.4触摸屏库
为了使QT/Embedded环境支持触摸屏输入设备,我们需要tslib1.4压缩包解压至新建立的实验目录(安装tslib 1.4)。
首先进入压缩包所在目录,终端输入tar xjvf tslib-1.4.tar.bz2 -C /home/uptech/QT4/for_arm
进入解压后的/home/uptech/QT4/for_arm目录,使用bulid.sh编译tslib库,终端输入./bulid.sh
编译成功后会在tslib-1.4的同级目录下产生tslib1.4-install目录。
配置编译QT/Embedded环境
进入QT/Embedded压缩包目录下,将压缩包解压到/home/uptech/QT4/for_arm目录下,终端输入tar xjvf qt-embedded-linux-opensource-src-4.4.0.tar.bz2 -C /home/uptech/QT4/for_arm
进入解压后的qt-embedded-linux-opensource-src-4.4.0目录执行configure文件,配置QT/Embeddeb环境。
接下来的命令格外的长,请大家注意拼写。
./configure -embedded arm -xplatform qws/linux-arm-g++ -nomake examples -no-stl -no-qt3support -no-phonon -no-svg -no-webkit -no-openssl -no-nis -no-cups -no-iconv -no-pch -no-dbus -no-separate-debug-info -depths 8,16 -fast -littleiendian -qt-mouse-linuxtp -qt-mouse-tslib -I$PWD/../tslib1.4-install/include -L$PWD/../tslib1.1-install/lib -prefix /usr/local/Trolltech/Qt-embedded-4.4.0
这是为什么呢?经过上网查阅,发现这些参数的含义:
-embedded 选择嵌入式平台,如:arm -xplatform 交叉编译时的目标平台
-depths 支持的色彩深度
-little-endian 支持小段存储
-qt-mouse-linuxtp 使用什么鼠标驱动来触发触摸屏的点击事件
-qt-mouse-tslib 支持tslib触摸屏驱动
-no-kbd-xx 如果用不到键盘的话,将kbd对应的全no掉
在弹出的许可证提示符下输入"yes"并回车,就进入了QT/Embedded的环境配置。
配置完成后终端输入make,同样的,编译时间很长,大概两个小时。
最后终端输入make -install,进行QT/Embedded的安装。
QT/Embedded环境安装完成。
如果在执行./configure ....时提示:
The tslib functionality test failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR and QMAKE_LIBDIR in /home/uptech/QT4/for_arm/qt-embedded-linux-opensource-src-4.4.0/mkspecs/qws/linux-arm-g++.则需要到提示的目录下修改qmake.conf文件。
进入提示的目录下,终端输入:vim qmake.conf,在文件末尾添加:
QMAKE_INCDIR=/home/uptech/QT4/for_arm/tslib1.4-install/include/
QMAKE_LIBDIR=/home/uptech/QT4/for_arm/tslib1.4-install/lib/
保存退出之后重新执行,如果还是无法成功执行,可以在./configure后加上-verbose选项,使得你的报错信息更加完整
我的详细报错信息如下:
arm-linux-g++ 命令未找到
查看PATH变量值后发现交叉编译环境配置好了,因此终端输入:
source /etc/profile使得环境变量更新,之后再次执行./configure成功
./configure 后的参数介绍,具体请参照下面的这篇文章:
https://blog.csdn.net/KwanSampson/article/details/49897825