• 一、准备工作

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
题外话,如果是龙芯3A3000、3A4000等,就是安装mips64el编译链工具。龙芯最新的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
#设置环境变量,可输入aarch,然后多按几次tab键,出现提示表示配置成功
echo 'export PATH=$PATH:/root/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin' > /etc/profile.d/aarch64.sh
source /etc/profile
# 回头编译完成后/root/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu文件夹不可删除
  • 三、编译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++ -qt-xcb -prefix /opt/Qt5.11.1.aarch64 -nomake examples -no-opengl -silent -qpa linuxfb
#参数表示使用2个线程进行编译,根据电脑的CPU线程数进行设置
make -j 2

#回头编译安装完成后,/root/qt-everywhere-src-5.11.1可删除

 

上面的make时间较长,等待即可

2、执行命令安装qt到之前指定的目录/opt/Qt5.11.1.aarch64

make install

 

  • 四、设置配置Qt构建套件

1、添加qt版本,工具->选项->Kits->Qt Versions ,添加,选择之前编译的/opt/Qt5.11.1.aarch64/bin/qmake,应用。如下图

 

 2、添加编译器,如下图

 

 3、添加构建套件,注意Qt mkspec填写linux-aarch64-gnu-g++。如下图

  

3、新建Qt 工程测试

注意这里选择构建套件后,只能编译出目标平台程序,拷贝到目标平台电脑上运行,不能直接允许。

 

 

  • 参考资料 

QT5交叉编译保姆级教程(arm64、mips64)
Centos7 交叉编译QT5.9.9源码 AArch64架构
在64位centos7上交叉编译32位树莓派QT5.9.9 

CentOS7文件系统根目录上的磁盘空间不足进行磁盘扩容

 

posted on 2024-03-22 10:34  jsjrj01  阅读(718)  评论(0编辑  收藏  举报