Ubuntu ARMv8编译Qt源码以及QtCreator

最近需要在NVIDIA小盒子上面跑一个程序,一开始想着在Ubuntu x64下交叉编译一版,后来发现libqxcb.so 这个库在configure时就会一直报错,多方查找怀疑可能是由于硬件不支持在x64环境下编译AMR架构的xcb库。

所以最后在ARM下直接编译Qt源码了,在ARM下是可以编译成功 libqxcb.so 的,由于没有ARM下的QtCreator所以需要一起编译。

一、编译Qt源码

1. 编译前环境配置

cpp 复制代码
sudo apt-get update
sudo apt-get install gperf
sudo apt-get install libxcb*
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut3-dev
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libx11-dev libxext-dev libxtst-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libxkbcommon-x11-dev
sudo apt install libwayland-dev				// 编译源码时qtmultimedia中报错wayland-client.h
sudo apt install libclang-dev llvm          // 这俩是qtdoc的,要编译文档才装,因为这比较大

2. 编译前配置

cpp 复制代码
./configure -xcb -prefix /opt/Qt5.15.2 -skip qtlocation

解释:

-prefix 最后安装路径

-skip 跳过某个模块(qtlocation编译不过,各种尝试都没过,最终才跳过,如果知道如何可以编译过请通知,谢谢)

提示 webengine 警告时,可以先用上面命令,然后通过 qmake 单独编译一下,可能会缺依赖库自己查找一下

cpp 复制代码
qmake webengine源码路径/webengine.pro
make
sudo make install

二、编译QtCreator

下载地址: https://download.qt.io/archive/qtcreator/

编译时需要注意,QtCreator源码一定要和Qt源码对应,比如QtCreator 8.0源码就无法通过 Qt5.15的qmake编译成功,会报错需要Qt6的源码编译

是否适合当前版本,可以通过README.md中介绍确定

编译步骤:

cpp 复制代码
qmake ./qtcreator.pro
make
// PATH 为install路径,自行修改,如果不在非需sudo目录安装可以不加sudo
sudo make install INSTALL_ROOT=PATH    
相关推荐
GeW14 小时前
制造强国底座:Linux与数据库驱动的新型工业基础设施
linux
xiaoye-duck14 小时前
《Linux 网络编程》深入理解 IO 多路复用:select 函数详解与 Echo 服务实战
linux·网络
Tairitsu_H14 小时前
[Linux系统] 命令行参数 | 环境变量 | 程序地址空间
linux·环境变量·命令行参数·程序地址空间
雯宝14 小时前
devices_init / buses_init / classes_init / firmware_init / hypervisor_init 函数
linux
技术人生00115 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
M78佐菲15 小时前
ARM学习笔记(12)
linux·arm开发·笔记·嵌入式硬件·学习
可涵不会debug16 小时前
C++ std::bind 实战教程:线程池、回调场景全覆盖
linux·开发语言·c++
一直C16 小时前
【ARM嵌入式开发】LCD液晶屏显示原理、色彩模式与显存地址映射详解
lcd·嵌入式·arm·寄存器·cortex-a7
青梅味猪大肠16 小时前
【操作系统-26】进程互斥软件实现-Peterson算法
linux·运维·服务器
wdfk_prog17 小时前
Wi-Fi Direct教程 01:在 Ubuntu 搭建双 mac80211_hwsim + wpa_supplicant 2.12
linux·运维·服务器·ubuntu·ros·wifi-direct