367 字
1 分钟
【QT】交叉编译与部署
2026-06-11

配置交叉编译工具链(以 NXP i.MX 为例)#

  1. 将官方 SDK 拷贝到 /opt,执行安装脚本:
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh
  1. 配置环境变量(~/.bashrc 末尾):
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

保存后执行 source ~/.bashrc 生效。

  1. 验证:
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.run
chmod u+x qt-opensource-linux-x64-5.12.9.run
sudo ./qt-opensource-linux-x64-5.12.9.run

在图形界面中安装 Qt 与 Qt Creator(需图形环境)。

Qt Creator Kits 配置 ARM 环境#

  1. 编辑 Qt 安装目录下 Tools/QtCreator/bin/qtcreator.sh,在首行加入:
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
  1. 启动 Creator:
/path/to/qt/Tools/QtCreator/bin/qtcreator.sh &
  1. Tools → Options(工具 → 选项)
    步骤1

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

  3. 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++

步骤3

  1. Kits → Kits:新建 Kit,选择上述 Qt 版本、交叉编译器、Sysroot(按向导填写)。
    步骤4_1
    步骤4_2

  2. 新建项目时选择该 Kit 进行交叉编译。
    步骤5

部署到板子#

  • 将可执行文件与所需 Qt 库(或静态链接)拷贝到开发板。
  • 动态链接时需设置 LD_LIBRARY_PATH 或使用 qt.conf 指定 PluginsLibraries 路径。
  • 无显示环境时注意 QT_QPA_PLATFORM(如 linuxfbeglfsoffscreen)。

与桌面开发的区别#

项目桌面交叉编译
编译器本机 gcc/clangarm-*-g++ 等
Qt 库主机 Qt目标架构 Qt / sysroot 内 Qt
运行本机直接运行拷贝到板子或 qemu 运行
Creator KitDesktop自定义 Cross-compile Kit

路径与版本号请按实际 SDK 文档调整;上文以笔记中的 4.1.15-2.1.0 工具链为例。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【QT】交叉编译与部署
https://lysj.work/posts/studynotes/qt/qt交叉编译与部署/
作者
Sekiro
发布于
2026-06-11
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录