QT 环境搭建¶
QT 运行环境测试¶
Ubuntu 20.04¶
Ubuntu 20.04 系统默认配置 QT 5.12.8 运行环境。
1. 查看 QT 库
2. 将 demo 拷贝至系统任意目录下,进行测试:
Debian 11¶
Debian 11 系统默认配置 QT 5.15.2 运行环境。
1. 查看 QT 库
2. 将 demo 拷贝至系统任意目录下,进行测试:
QT 交叉编译环境搭建¶
测试平台:虚拟机 Ubuntu 20.04
gcc 交叉编译工具¶
- SDK 自带交叉编译工具链
编译工具链路径(不推荐,会出现版本不兼容):
- gcc 交叉编译链安装
从网盘中获取 gcc 交叉编译链,将获取的压缩包放到虚拟机目录下进行解压,-C /opt/gcc-arm 为指定解压路径
- 环境变量配置
1. 若需系统正确识别交叉编译工具链,将其安装路径配置到环境变量中。
临时生效(仅当前终端会话有效):
永久生效:
2. 验证安装
验证是否成功安装并配置工具链:
输出类似内容,则安装成功:
aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture) 9.2.1 20191203
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
qmake 安装¶
在 Qt 项目中,qmake 根据 .pro 工程文件生成 MakeFile。在开发板中安装 QT,gcc,无需修改编译工具,安装源码即可。
1. 通过网盘 下载 Qt / 通过访问官网 下载最新 Qt(历史版本 Qt 下载)
官网下载示意图:

2. 安装所需的依赖库与工具链
$ sudo apt-get install build-essential perl python3 git
$ sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
$ sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
$ sudo apt-get install libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison nodejs
$ sudo apt-get install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt-get install libgstreamer-plugins-bad1.0-dev
$ sudo apt install clang libclang-dev
$ sudo apt-get install xz-utils
$ sudo ln -s /usr/bin/python3 /usr/bin/python
3. 将下载完成的 Qt 解压至 opt 文件夹中
进入解压文件夹,建立 auto.sh 脚本文件
#!/bin/bash
./configure \
-prefix /opt/Qt/ \
-opensource -confirm-license \
-nomake examples \
-nomake tests \
-release \
-xplatform linux-aarch64-gnu-g++ \
-device-option CROSS_COMPILE=/opt/gcc-arm/bin/aarch64-none-linux-gnu- \
-no-eglfs \
-no-xcb \
-no-opengl \
-skip qt3d \
-skip qtcharts \
-skip qtandroidextras \
-skip qtlocation \
-skip qtmultimedia \
-skip qtsensors \
-skip qtserialbus \
-skip qtserialport \
-skip qtwayland \
-skip qtdeclarative \
-skip qtxmlpatterns \
-skip qtwebchannel \
-skip qtwebengine \
4. 修改 qmake.conf 文件
Note
QT 源码中 qtbase/mkspecs/ 目录下存在不同平台,示例中采用 linux-aarch64-gnu-g++ 目录下 qmake 配置文件,但因交叉编译工具链不一致,需修改 qmake.conf 文件以适配当前使用的交叉编译工具。
# modifications to g++.conf
QMAKE_CC =/opt/gcc-arm/bin/aarch64-none-linux-gnu-gcc
QMAKE_CXX =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK_SHLIB =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR =/opt/gcc-arm/bin/aarch64-none-linux-gnu-ar cqs
QMAKE_OBJCOPY =/opt/gcc-arm/bin/aarch64-none-linux-gnu-objcopy
QMAKE_NM =/opt/gcc-arm/bin/aarch64-none-linux-gnu-nm -P
QMAKE_STRIP =/opt/gcc-arm/bin/aarch64-none-linux-gnu-strip
5. 运行脚本交叉配置 QT 源码,执行 ./configure
Note
./configure
-prefix /opt/Qt/:Qt 安装路径
-opensource -confirm-license:安装 Qt 开源社区版
-nomake examples :禁止编译并安装 Qt 示例程序
-nomake tests:禁止编译并安装 Qt 测试用例与测试框架
-release:指定 Qt 以 Release 模式进行编译
-xplatform:指定 Qt 编译的目标运行平台
-qtlocation : 提供跨平台位置服务全套解决方案
-qtwebengine:基于 Chromium 内核的高性能网页渲染引擎
-skip:跳过指定 Qt 模块的编译
若项目无需位置服务或网页渲染功能,编译 Qt 时可通过 -skip 参数跳过 qtlocation 和 qtwebengine 模块,大幅减少编译时间。
6. 执行编译,编译时长约 4~12 小时
编译完成执行命令将程序安装至 -prefix 指定的 /opt/Qt/ 中。
7. 成功安装后修改环境变量
export QTDIR=/opt/Qt
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
8. 查看版本
qtcreator 安装¶
Tip
安装 qtcreator 必须先安装 Qt,可通过不同方式进行 qtcreator 安装,根据自身情况选择对应方式。
安装包安装¶
Tip
在虚拟机中安装 qtcreator。
1. 进入 Qt 官网,选择安装包

2. 在虚拟机中运行安装程序
Tip
需要在 Qt 官网注册账号,安装过程为图像化安装,安装过程和 Windows 保持一致。
apt 安装¶
Tip
在开发板中安装 qtcreator。
通过 apt 安装对应 qtcreator,可能和已安装 QT 版本不一致。
源码安装¶
Tip
在虚拟机中安装 qtcreator。 特殊情况需要编译特定版本 Qtcreator(不推荐使用此安装方式),推荐使用与 Qt 框架版本相匹配的 Qt Creator 版本。

2. 压缩包解压并进入解压路径,执行命令
3. 执行上文命令后生成 MakeFile 文件,执行命令进行编译
4. 编译完成,执行命令
5. bin 目录存在 qtcreator 和 qtcreator.sh,执行命令,qtcreator 在后台运行,根据需求配置 qtcreator
Kit 配置¶
1. GCC 中添加 C 编译器和 C++ 编译器

2. 添加 qmake

3. 配置完成

Windows 交叉编译环境搭建¶
Windows 10/11 下交叉编译 aarch64 (ARMv8) 架构 Qt 5.12.10。
安装 QT¶
建议断网安装,否则需登录 Qt 账户。在 Qt 安装程序中按提示完成安装,选择对应组件。安装完成后在 Qt5.12.10\Tools\mingw730_64\bin 下复制 mingw32-make.exe 并重命名为 make.exe。
配置环境变量¶
将以下路径添加到系统 PATH:
安装关联工具¶
安装 ActiveState Perl 5.36:
安装 Python(勾选 Add to PATH),验证:
交叉编译工具链¶
解压交叉编译工具链,文件夹重命名为 aarch64-linux-gnu,将其 bin 目录添加到系统 PATH。
编译 QT 源码¶
使用 MinGW 命令行工具(非 PowerShell)进入 Qt 源码目录:
.\configure.bat -release -opensource -prefix D:\Qt\CrossCompilation\Qt5.12.10-ARMv8 -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -platform win32-g++ -xplatform linux-aarch64-gnu-g++
接受开源协议,输入 y 完成配置。
配置 Qt Creator¶
菜单 工具 → 选项 → Kits:
| 配置项 | 操作 |
|---|---|
| Qt Version | 添加交叉编译后的 qmake.exe |
| Compilers → C++ | 添加 aarch64-linux-gnu-g++ |
| Compilers → C | 添加 aarch64-linux-gnu-gcc |
| Debuggers | 添加 aarch64-linux-gnu-gdb.exe |
| CMake | 添加 make.exe(重命名后的 mingw32-make) |
| Kits | 新建 Kit,关联上述配置 |
测试¶
新建 Qt 工程,选择 ARM_Linux Kit 编译,将生成的二进制文件推送到板卡运行。