EmbedIoT
交叉编译 QT4.8.7 源码生成 qmake 工具
TQ-i.MX6UL 使用的 QT 版本是 QT4.8.7,板卡出厂前附带的开发资料中,天嵌官方没有为开
发者编译生成 qmake 工具。因此,为了后续进行的 QT 开发,我们需要自己手动编译 QT 源码,
生成 qmake。
编译前准备:
1、确 保 交 叉 编 译 器 版 本 是 arm-linux-gnueabihf-gcc 5.3.1 20160412 (Linaro GCC
5.3-2016.05)
2、Qt 源码版本是:qt-everywhere-opensource-src-4.8.7
3、tslib 源码版本是:tslib-1.1
TQ 官方提供了一个组合软件包,里面包含了 Qt 源码和 tslib 源码,存放在以下路径:
TQIMX6UL_COREB_CD_V1.0_R2.1_20171115\Linux
\qt-4.8.7_tslib-1.1.tar.bz2
开发者也可以在以下网址下载源码:
Qt 源码:http://mirrors.ustc.edu.cn/qtproject/archive/qt/4.8/4.8.7/
tslib 源码:https://github.com/kergoth/tslib/releases?after=1.5
源 码 包 \Qt
源 码
1、把 QT 源码和 tslib 源码 qt-4.8.7_tslib-1.1.tar.bz2 通过 FileZilla Client 工具,上
传到 ubuntu 系统的/opt/tq-imx6ul/source_code 目录。执行以下命令,进行解压:
tar xvf qt-4.8.7_tslib-1.1.tar.bz2 -C /
解压完成后,QT 源码和 tslib 源码存放在以下目录:/opt/EmbedSky/TQIMX6UL/TQ_COREB
2、因为 qt 源码编译需要依赖于 tslib 源码,所以,在编译 qt 源码之前,需要先编译 tslib
源码。tslib 源码的编译脚本为 build.sh,以下是编译脚本的内容:
脚本的内容:指定交叉编译器的具体版本和路径,INSTALL_DIR 指定 tslib 的安装目录。然
后执行 make 命令进行编译。Make install 命令进行安装。
我们可以在 ubuntu 的命令行终端,执行以下命令,进行 tslib 的安装:
cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/tslib-1.1
./build.sh
安装完成后 tslib 存放在:/opt/EmbedSky/TQIMX6UL/TQ_COREB/imx6ul_rootfs/opt
EmbedIoT
EmbedIoT
3、成功编译 tslib 后,开始进行 qt 源码的编译安装。Qt 源码的一系列编译命令,已封装
成 build_arm.sh 脚本,如下图所示:
4、build_arm.sh 的具体内容,如下图所示:
脚本的内容:指定交叉编译器的路径和版本。./configure 指定 qt 源码编译时的配置选项,
查看配置选项,可以看出此次编译是把 qt 源码编译为 release 版本,动态链接库形式,应
用于嵌入式 arm 平台,支持 sqlite 数据库,支持 jpeg 和 png 图形编码格式,等等。然后执
行 make -j8 进行编译,make install 进行安装。
我们可以在 ubuntu 的命令行终端,执行以下命令,进行 qt 源码的编译和安装:
cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/qt-everywhere-opensource-src-4.8.7
./build_arm.sh
安装完成后 qt 存放在:/opt/EmbedSky/TQIMX6UL/TQ_COREA/imx6ul_rootfs/opt
执行以下命令,把 qt 源码复制到跟 tslib 同样的目录下,便于管理。
cd /opt/EmbedSky/TQIMX6UL/TQ_COREA/
cp imx6ul_rootfs /opt/EmbedSky/TQIMX6UL/TQ_COREB/ -a
EmbedIoT
EmbedIoT
5、完成以上工作后,qmake 工具存放在以下目录:
/opt/EmbedSky/TQIMX6UL/TQ_COREB/imx6ul_rootfs/opt/qt-4.8.7/bin/
点击这里,访问作者博客
点击这里,了解更多 Linux 开发板信息
EmbedIoT