zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

QT开发学习3(配置 Qt Creator Kits )

2023-04-18 14:23:45 时间

配置 Qt Creator Kits

Kit 译作套件,也就是开发编译环境套件,我们可以搭建不同平台的套件,以不同的套件
编译出不同平台的应用程序,也验证了 Qt 跨平台的特性!

这里我们需要在脚本里写入设置使能环境变量的指令,首先打开此脚本。(若安装时和编者
安装的目录一样则可以使用如下指令打开)

 sudo vi /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh 

在 qtcreator.sh 里的第一行插入如下指令,如下图所示。

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 

在这里插入图片描述

图 2.3 1 后台运行 Qt Creator

保存脚本文件。使用如下指令打开 Qt Creator。“&”的作用是后台运行。(推荐使用这种
方式打开 Qt Creator)

/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh & 

在这里插入图片描述

图 2.3 2 后台运行 Qt Creator

也可以在左上角的软件中心栏输入搜索出“Qt Creator”图标后再单击打开。(这里并不推
荐使用图标打开 Qt Creator,否则编译过程中引用到其他环境变量可能会出现编译报错)
在这里插入图片描述
图 2.3 3 从软件搜索栏打开 Qt Creator
打开 Tools(工具),打开 Options(选项)。
在这里插入图片描述

图 2.3 4 打开“选项”

配置 Qt Versions,点击添加,选择我们 1.1 小节安装的交叉编译器路径下的 qmake,路径为

/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/qmake,用于生成 Makefile,以
编译程序。同时改版本名称为 ATK-I.MX6U Qt %{Qt:Version}。
在这里插入图片描述
图 2.3 5 配置 Qt Versions

点击添加,选择 C++。
在这里插入图片描述

图 2.3 6 添加 C++
配置编译器,编译器的路径为我们 1.1 小节安装的交叉编译器。路径为/opt/fsl-imx-x11/4.1.15-2.
1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++。将
“名称”改为 ATK-I.MX6U-GCC。

在这里插入图片描述

图 2.3 7 配置编译器

配置 Kits,将“名称”改为 ATK-I.MX6U。在 Qt mkspec 处写上“linux-oe-g++”。其他按下图
操作设置。不要漏了其中一项,否则可能编译错误。
在这里插入图片描述

图 2.3 8 配置 Kits

2.4 验证搭建的交叉编译 Kits

新建工程
在这里插入图片描述

图 2.4 1 新建项目

选择 Application 项目和 Qt Widgets Application 模板。

在这里插入图片描述

图 2.4 2 选择项目与模板

项目命名为 test,选择工程的位置,这里位置不要随便选择,建议放在家目录下(/home/用户名)。
在这里插入图片描述

图 2.4 3 项目命名为 test

默认使用 qmake,点击下一步。

在这里插入图片描述

图 2.4 4 默认构建系统
选择类模板,默认 QMainWindow 类即可。
在这里插入图片描述

图 2.4 5 选择类模板

是否选择文件翻译,默认无,点击下一步。

在这里插入图片描述

图 2.4 6 跳过文件翻译
选择套件,这里可以两个套件一起选,编译时切换选择 I.MX6U ARM 平台的套件,如下。

在这里插入图片描述

图 2.4 7 选择 Kits

在这里插入图片描述

默认,点击 Finish,完成。

在这里插入图片描述

图 2.4 8 跳过版本控制
如下图选择 ATK-I.MX6U Kit 编译,其中可以看到 Qt Creator 把程序中的类当作未识别的
类。这个可以不用理会。

在这里插入图片描述

图 2.4 9 切换 ATK-I.MX6U

想解决这个问题也有方法。因为高版本的 Qt creator 多了一个 ClangCodeModel 插件,把这
个插件去掉,重启 Qt creator 就不会有这个报错信息了。点击“帮助” -> “关于插件”,在 C
++栏找到“ClangCodeModel”,取消勾选即可。点击关闭,会提示是否要现在重启,点击 Now

即可重启生效。
在这里插入图片描述

图 2.4 10 取消勾选

开始编译,点击构建,不要点击运行!在 Ubuntu 平台上是运行不了用 ARM 编译器编译出来的
程序的!
在这里插入图片描述

图 2.4 11 编译 ARM 平台的应用程序成功

在 test 工程的同级目录下找到 build-test-ATK_I_MX6U-Debug 文件夹,查看编译出来的可执行
程序 test。我们拷贝到出厂文件系统目录下,在串口终端直接执行./test 就可以了。
cd build-test-ATK_I_MX6U-Debug/
ls
在这里插入图片描述

图 2.4 12 编译出来的 ARM 平台可执行程序