windows下配置Qt arm32交叉编译环境
环境:
1系统:windows 11 2Qt: 5.12.12(2021-11-25) 3本地编译器:mingw73 64(2018-04-25) 4交叉编译器: gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi 5perl: strawberry perl 5.22.1(2016-01-07) 6python: 3.8.10(2021-05-03) 7
1. 安装Qt MinGW Perl Python
qt-opensource-windows-x86-5.12.12.exe (安装时勾选mingw73 64)
python-3.8.10-amd64.exe (额外安装)
strawberry-perl-5.22.1.3-32bit.msi (qt安装可选)
2. 安装arm32交叉编译器
- 下载地址
- 解压到D盘根目录
1D:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++.exe -v 2 3Using built-in specs. 4COLLECT_GCC=D:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++.exe 5COLLECT_LTO_WRAPPER=d:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/7.3.1/lto-wrapper.exe 6Target: arm-linux-gnueabi 7... 8Thread model: posix 9gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) 10
3. 交叉编译arm32的qmake
- 下载Qt 5.12.12源码
https://download.qt.io/new\_archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz
- 解压到D盘根目录
1D:/qt-everywhere-src-5.12.12 2
- 启动Qt命令行(qtenv2.bat)
1开始菜单 -> Qt 5.12.12 -> Qt 5.12.12 (MinGW 7.3.0 64-bit) 2
- 设置arm-linux-gnueabi-g++到环境变量
1set path=D:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin;%path% 2
- 查看perl和python信息
1$ perl -v 2 3This is perl 5, version 22, subversion 1 (v5.22.1) built for MSWin32-x86-multi-thread-64int 4
1$ python --version 2Python 3.8.10 3
- 配置编译信息
1$ mkdir build 2$ cd build 3$ D:/qt-everywhere-src-5.12.12/configure.bat -release -opensource -confirm-license -prefix "D:/Qt5.12extArmTools" -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -skip qtwebengine -platform win32-g++ -xplatform linux-arm-gnueabi-g++ 4
- 编译(约130分钟)
1mingw32-make -j16 2
- 安装
1mingw32-make install 2
4. Qt Creator配置交叉编译环境
4.1 配置交叉编译器
- 打开 Qt Creator,进入
工具->选项->Kits->编译器 - 点击
添加->GCC->C,添加 C 编译器。名称设为arm32-gcc,编译器路径浏览选择交叉编译工具链中的D:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc.exe - 点击
添加->GCC->C++,添加 C++ 编译器。名称设为arm32-g++,编译器路径浏览选择交叉编译工具链中的D:/gcc-linaro-7.3.1-2018.05-i686-mingw32_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++.exe
4.2 配置 Qt 版本
- 在
选项->Kits->Qt Versions中点击添加 - 选择上面编译安装的 arm32 版 Qt 中的 qmake 程序
D:/Qt5.12extArmTools/bin/qmake.exe(位置不能修改,编译时已固定) - 点击
应用,Qt Creator 会自动检测到该 Qt 版本
4.3 配置构建套件(Kit)
- 在
选项->Kits->构建套件(Kit)中点击添加 - 设置构建套件名称,如
Qt 5.12.12 arm32 - 在
设备类型中选择通用 Linux 设备 - 在
编译器部分,分别选择上面配置的 C 编译器arm32-gcc和 C++ 编译器arm32-g++ - 在
Qt 版本处,选择上面添加的 Qt 版本
5. 编译
执行qmake,执行构建
qmake会使用make命令,可以将MinGW中的mingw32-make复制为make,并添加到环境变量
1C:\Qt\Qt5.12.12\Tools\mingw730_64\bin\mingw32-make.exe 2C:\Qt\Qt5.12.12\Tools\mingw730_64\bin\make.exe 3
1set path=C:/Qt/Qt5.12.12/Tools/mingw730_64/bin;%path% 2
moc生成有问题时,也可以手动生成moc源文件
1make compiler_moc_header_clean 2make compiler_moc_header_make_all 3
《windows下配置Qt arm32交叉编译环境》 是转载文章,点击查看原文。