367 字
1 分钟
【QT】交叉编译与部署
配置交叉编译工具链(以 NXP i.MX 为例)
- 将官方 SDK 拷贝到
/opt,执行安装脚本:
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh- 配置环境变量(
~/.bashrc末尾):
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi保存后执行 source ~/.bashrc 生效。
- 验证:
arm-poky-linux-gnueabi-gcc -v安装 Qt(主机端 Qt Creator + SDK)
wget http://download.qt.io/archive/qt/5.12/5.12.9/qt-opensource-linux-x64-5.12.9.runchmod u+x qt-opensource-linux-x64-5.12.9.runsudo ./qt-opensource-linux-x64-5.12.9.run在图形界面中安装 Qt 与 Qt Creator(需图形环境)。
Qt Creator Kits 配置 ARM 环境
- 编辑 Qt 安装目录下
Tools/QtCreator/bin/qtcreator.sh,在首行加入:
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi- 启动 Creator:
/path/to/qt/Tools/QtCreator/bin/qtcreator.sh &-
Tools → Options(工具 → 选项)

-
Kits → Qt Versions:手动添加 SDK 中的
qmake,自定义名称与版本,应用。

-
Kits → Compilers:添加 Manual 的 GCC C++,编译器路径示例:
/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++
-
Kits → Kits:新建 Kit,选择上述 Qt 版本、交叉编译器、Sysroot(按向导填写)。


-
新建项目时选择该 Kit 进行交叉编译。

部署到板子
- 将可执行文件与所需 Qt 库(或静态链接)拷贝到开发板。
- 动态链接时需设置
LD_LIBRARY_PATH或使用qt.conf指定Plugins与Libraries路径。 - 无显示环境时注意
QT_QPA_PLATFORM(如linuxfb、eglfs、offscreen)。
与桌面开发的区别
| 项目 | 桌面 | 交叉编译 |
|---|---|---|
| 编译器 | 本机 gcc/clang | arm-*-g++ 等 |
| Qt 库 | 主机 Qt | 目标架构 Qt / sysroot 内 Qt |
| 运行 | 本机直接运行 | 拷贝到板子或 qemu 运行 |
| Creator Kit | Desktop | 自定义 Cross-compile Kit |
路径与版本号请按实际 SDK 文档调整;上文以笔记中的 4.1.15-2.1.0 工具链为例。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
【QT】交叉编译与部署
https://lysj.work/posts/studynotes/qt/qt交叉编译与部署/ 部分信息可能已经过时
相关文章 智能推荐
1
【QT】布局与QSS
StudyNotes 介绍 QHBoxLayout 等布局管理、QSS 选择器语法及与 QPalette、QStyle 的关系。
2
【QT】信号槽与事件
StudyNotes 讲解信号与槽的 connect 写法、连接类型、事件处理与 eventFilter 及 QTimer 定时器。
3
【QT】入门与构建
StudyNotes 介绍 Qt 事件循环、链接库、qmake/CMake 构建及 MOC/UIC/RCC 编译流程与跨平台原理。
4
【QT】核心类型与容器
StudyNotes 介绍 QObject 对象树、QString、顺序与关联容器及迭代遍历方式。
5
【QT】对话框与常用控件
StudyNotes 涵盖 QFileDialog、QMessageBox 等标准对话框及按钮、输入、视图等常用控件分类。
