惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园 - 夕西行

显卡、cuda、pytorch版本确定与安装 conda的安装与使用 conda虚拟环境中的pip、No module named问题、missing the 'build_editable' hook和PEP660 mmyolo与官方yolo,在背景数据集上的注意事项 跨平台的文件夹映射cifs WinSCP复制时报 Received SSH2_MSG_CHANNEL_DATA for nonexistent channel 0 CMakeLists.txt之include、lib labelImg安装、改软件后打包成exe、改软件功能 Jetson插网线后启动慢 mmyolo数据集、训练 mmyolo安装 QString有中文空格时 VS2015下载 Qt5.15.2在线安装 向串口发送数据的方式 Qt5.14.2下载 VS2022编译运行VS2015的项目 二进制字面量、字节序、串口发送、转16进制时符号扩展问题 QString的toStdString().c_str()坑
编译Arm Qt5.14.2(在Arm上本地编译)
夕西行 · 2025-04-02 · via 博客园 - 夕西行

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)  # 使用多核编译加速

编译时间较长(可能几小时)。

之后会出现Qt5.14.2文件夹,打个压缩包自己留着,方便直接拷贝到其他Arm设备上用。

tar -cvfz Qt5.14.2.tar.gz -C ~/ Qt5.14.2

然后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博客