编译Arm Qt5.14.2(在Arm上本地编译)
0、安装些依赖
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev gdb cmake libxcb-xinerama0-dev libfontconfig1-dev libfreetype6-dev '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
1、迅雷下载源码包:https://download.qt.io/archive/qt/5.14/5.14.2/single/qt-everywhere-src-5.14.2.tar.xz
或者直接在arm上下载
wget https://download.qt.io/archive/qt/5.14/5.14.2/single/qt-everywhere-src-5.14.2.tar.xz
2、放到arm上解压
tar -xf qt-everywhere-src-5.14.2.tar.xz cd qt-everywhere-src-5.14.2
3、修改qglobal.h,增加箭头一行。不加会提示一些‘std::numeric_limits’错误。

4、配置编译,可能报一些错误,处理见文末。
./configure -prefix ~/Qt5.14.2 \ -opensource \ -confirm-license \ -release \ -no-opengl \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -xcb
-
-prefix ~/Qt5.14.2:指定安装目录。 -
-skip qtwebengine:WebEngine 在 ARM 上编译较复杂,可跳过。 -
-xcb:启用 X11 支持(适用于桌面环境)。
5、开始编译
make -j$(nproc) # 使用多核编译加速
编译时间较长(可能几小时)。
make install
之后会出现Qt5.14.2文件夹,打个压缩包自己留着,方便直接拷贝到其他Arm设备上用。
tar -cvfz Qt5.14.2.tar.gz -C ~/ Qt5.14.2
然后Qt5.14.2文件夹移动到自己想保存的路径,如/opt/
sudo mv ~/Qt5.14.2 /opt/
6、配置环境变量(系统环境变量)
sudo sh -c 'echo "/opt/Qt5.14.2/lib" > /etc/ld.so.conf.d/qt5.conf' sudo ldconfig
验证安装
qmake --version #输出Qt 5.14.2
【一些错误处理】
1、ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && features.xkbcommon
或 ERROR: Invalid value given for boolean command line option 'xcb'.
安装
sudo apt install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
检查下
./configure -recheck-all #选择o,y
之后重复上文的步骤4
若还报此错误,参考 arm银河麒麟编译Qt,./configure 时xcb报错_error: feature 'xcb' was enabled, but the pre-cond-CSDN博客
【参考】
qt5.12.10源码编译时‘xcb’报错_error: feature 'xcb' was enabled, but the pre-cond-CSDN博客

浙公网安备 33010602011771号