- 一、准备工作
1、更新系统软件,目的是使用新版本的gcc 等,还要保证磁盘空间足够
1 yum update 2 yum install gcc gcc-c++ 3 yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel
2、到linaro下载编译链工具
安装aarch64(arm64)编译链工具。国产CPU,如飞腾、华为麒麟等是这个架构,这里使用最新版本的gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar
安装mips64el编译链工具。龙芯3A3000、3A4000等是此架构。
龙芯最新的LoongArch架构似乎还没有编译链工具
3、下载Qt源代码
根据自身需求选择一个版本下载。源码版本不需要和当前安装的QT一致,但最好不要低于当前安装的版本。不要横跨QT6和QT5,差别太大不要选择。我这里选择5.11.1的源代码
- 二、解压编译链
假设下载的编译链工具放在了/root目录
cd /root #解压 tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar #删除压缩包 rm -rf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar #设置临时环境变量 export PATH=/root/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH
- 三、编译aarch64架构的QT
1、假设下载Qt源码放在的/root目录
cd /root # 解压 tar -xvf qt-everywhere-src-5.11.1.tar.xz # 删除压缩包 rm -rf qt-everywhere-src-5.11.1.tar.xz # 进入目录 cd qt-everywhere-src-5.11.1 # config生成makefile ./configure -release -opensource -confirm-license -xplatform linux-aarch64-gnu-g++ -prefix /opt/Qt5.11.1.aarch64 -nomake examples -no-opengl -silent -qpa linuxfb
#参数表示使用2个线程进行编译,根据电脑的CPU线程数进行设置
make -j 2
上面的make时间较长,等待即可
2、执行命令安装qt到之前指定的目录/opt/Qt5.11.1.aarch64
make install
- 参考资料
QT5交叉编译保姆级教程(arm64、mips64)
Centos7 交叉编译QT5.9.9源码 AArch64架构
在64位centos7上交叉编译32位树莓派QT5.9.9