编译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博客

posted @ 2025-04-02 13:04  夕西行  阅读(917)  评论(0)    收藏  举报