QtCreator 配置交叉编译工具链

版权声明:知识共享-署名-相同方式共享(CC-BY-SA) https://blog.csdn.net/engrossment/article/details/90057097

缘由

最近写了几个在嵌入式板卡上使用的 Qt demo 程序,都是基于命令行终端编写与编译的。提交到市场部让他们发布给客户,但反馈说希望能整理一下 QtCreator 的使用方法,觉得客户对纯命令行终端的使用方法不好接受。细想也觉得有道理。于是就准备整理下我们 Sitara 系列的使用 processor sdk 的 335x、437x、57x 几个平台下 QtCreator 的使用方法。

整理过程中掉进了 Qt mkspec 配置的坑里,耗费了不少时间。所以这里特别记录说明下。下面以 57x 为例。335x、437x 的配置方法几乎一样。

安装 QtCreator

使用 apt-get 安装或者到官网下载较新版本安装都可以。http://download.qt.io/archive/qtcreator/

配置交叉编译工具链

注意无论是这里的配置还是之后启动 QtCreator 进行开发,之前都要先在终端加载 sdk 的环境再执行 qtcreator 命令进行启动。

source /home/jack/57x/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/environment-setup

打开配置页面,依次配置调试器、编译器、Qt 版本,配置好记得每一步点击一下 Apply(应用)。然后最后配置 Kits(套件)。

路径:

/home/jack/57x/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gdb
/home/jack/57x/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-g++
/home/jack/57x/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/qt5/qmake

配置 Kits 就是选择前面配置的几项。这里的坑就是那个 Qt mkspec。这里要填上 linux-oe-g++,不然后续执行 qmake 会很顺利但生成的 Makefile 乱七八糟,无法继续编译。然后提示莫名其妙的 gnu/stubs-soft.h not found 错误。后来才知道这个错误的出现,是体系架构混乱造成的,在嵌入式 ARM 平台应该使用 stubs-hard.h 而非这个。而造成这个的原因是,前面调用 qmake 时指定 -spec 参数使用了默认的 linux-g++-64,而非我们应该配置的 linux-oe+g++。

廖杰良 - 2019-5-10

猜你喜欢

转载自blog.csdn.net/engrossment/article/details/90057097
今日推荐