银河麒麟(Kylin) - V10 SP2高级服务器操作系统ARM64编译QT5.12.12版本
原因
官方源发现只能下载最新本为QT5.11.1,QTCreator4.9.2版本,但是项目需要QT5.12.8版本编译安装完成,但是发现项目需要更高版本。临时变更为QT5.12.12版本,在此记录。
测试环境
服务器配置
型号:飞龙RM5000-F
CPU:飞腾FT2000+ (64核、2.2GHz)
内存:256G、DDR4
硬盘:2T SSD、10T机械
系统:银河麒麟高级服务器系统V10
平台架构:ARM
准备工作
1、 去QT官网下载QT 5.12.12 源码
QT下载
下载:qt-everywhere-src-5.12.12.tar.xz
官网:https://download.qt.io/archive/qt/
2、确保系统的gcc,g++, python, perl等符合Qt安装要求,具体请参见Qt源码内的README文档
编译
1、编译安装QT
解压:qt-everywhere-src-5.12.12.tar.xz
tar -xvf qt-everywhere-src-5.12.12.tar.xz
进入qt-everywhere-src-5.12.12目录执行以下命令:
./configure -prefix /opt/qt5.12.12 -qt-xcb -nomake tests -nomake examples
如果再编译过程中不指定使用xcb编译,不指定、默认的情况下在QTCreator运行项目会报没有xcb错误
make -j32 #-j32为编译时多核优化,视物理机而定
make install #然后执行安装
问题
我在编译过程中报错error: 没有OpenGL 的错误
我在编译过程中警告: 没有gperf 他就不会编译QtWebEngine组件,我是需要的。如果不需要这个组件不用管它
解决方法:
联网使用yum命令安装OpenGL
yum install mesa-libGLU-devel-9.0.1-1.ky10.aarch64
yum install mesa-libGLU-9.0.1-1.ky10.aarch64
yum install mesa-libGL-20.1.4-1.p01.ky10.aarch64
安装gperf依赖以及安装包
yum install gperftools-devel-2.8-1.ky10.aarch64
yum install gperf-help-3.1-7.ky10.noarch
yum install gperftools-2.8-1.ky10.aarch64
yum install gperf-3.1-7.ky10.aarch64
没有出现error报错就可以编译了
根据提示可以使用:gmake/make 命令都可以
警告:
如果安装xcb完成还出现这个问题提示是xcb没有,我发现其实并不是这个问题,是相关依赖没有安装造成的,就是xcb所有安装包都安装,还是会报这个问题。
解决办法:
yum install libxklavier-5.4-18.ky10.aarch64
yum install libxkbcommon-devel-0.8.4-3.ky10.aarch64
yum install libxkbfile-1.1.0-2.ky10.aarch64
yum install libxkbcommon-0.8.4-3.ky10.aarch64
yum install libxkbcommon-x11-devel-0.8.4-3.ky10.aarch64
yum install libxkbcommon-x11-0.8.4-3.ky10.aarch64
安装完成
编译成功:Kylin-Server-10-SP2-Release-Build09-20210524-arm64 编译完成qt5.12.12
编译成功:Kylin-Server-10-SP2-Release-Build09-20210524-arm64 编译完成qt5.12.8
编译成功:Kylin-Server-10-SP2-Release-Build09-20210524-arm64 编译完成qt5.12.1
编译成功:Kylin-Server-10-SP2-Release-Build09-20210524-arm64 编译完成qt5.9.9