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    
相关推荐
哎呦喂我去去去10 小时前
C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
linux·windows·c#
easy_coder11 小时前
Linux LVM 知识文档
linux·运维
小小的木头人12 小时前
Ubuntu 使用 udev + systemd + UUID 实现 USB 硬盘自动挂载
linux·运维·ubuntu
kaoa00014 小时前
Linux入门攻坚——84、网络虚拟化技术-1
linux·运维·服务器
RisunJan14 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
2601_9657984714 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学15 小时前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式15 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
苍狗T15 小时前
LVS相关知识总结
linux·运维·服务器·lvs
广州灵眸科技有限公司15 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) rknn-toolkit-lite2使用方法
linux·运维·服务器·数据库·算法