嵌入式Linux开发环境搭建-(6)交叉编译QT4.8.7源码生成qmake工具

版权声明:本文为博主原创文章,欢迎转载及传播,但请保留文章出处。 https://blog.csdn.net/wenjs0620/article/details/89205949

交叉编译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源码\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

 

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

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

5、完成以上工作后,qmake工具存放在以下目录:

/opt/EmbedSky/TQIMX6UL/TQ_COREB/imx6ul_rootfs/opt/qt-4.8.7/bin/

 

点击这里,学习更多Embeded IoT Linux开发

 

猜你喜欢

转载自blog.csdn.net/wenjs0620/article/details/89205949
今日推荐