Qt5.15.x之后的版本源码编译安装

在以下网站现在源文件

bash 复制代码
https://mirrors.tuna.tsinghua.edu.cn/qt/

进入网站后选择以下路径

bash 复制代码
archive/qt/5.15/5.15.8/

该路径下

single中是完整qt源码

submodules是各单个模块源码

一、安装基础依赖,此处需要慎重安装,因为分析部分Debian系统和麒麟系统和此部分的内容可能有冲突,造成系统崩溃
bash 复制代码
sudo apt-get install libxcb-xinerama0-dev 
sudo apt-get install build-essential perl python git


sudo apt-get install libxcb-xinerama0-dev 
sudo apt-get install build-essential perl python git

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison

sudo apt-get install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

#安装ninja编译依赖re2c

bash 复制代码
sudo apt-get insatll re2c
#编译ninja
cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap 
#安装ninja
sudo cp ./ninja  /usr/bin
#检查安装是否完成
ninja --version
二、如果编译完整qt源码

下载single中的源码后解压

查询了一些qt5.15.x版本的问题,说qt5.15后版本和assimp版本兼容不够

需要更改源码中qtquick3d/src/plugins/assetimporters/assimp/assimp.pro文件

需要将QMAKE_USE_PRIVATE +=assimp

更难为QMAKE_USE_PRIVATE += quick3d_assimp

这里不更改的话,会有很多插件库无法编译

在解压出来的文件目录中打开终端执行以下命令

bash 复制代码
./configure -prefix /usr/local/lib/qt-5.15.8-release -nomake example -nomake tests

执行过程中需要输入选择

第一次选择o

第二次选择y

执行完成后,执行

bash 复制代码
sudo make -j8
sudo make install

该过程可能比较久

执行完成后,在/usr/local/lib下应该就有一个生成的qt-5.15.8-release目录

运行环境则需要配置如下指令段,我是在/etc/profile中配置的,每次运行程序要先source一下才行

bash 复制代码
export QTDIR=/usr/local/lib/qt-5.15.8-release
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins

如果需要编译单独的模块源码

下载submodules中的源码后

在解压出来的文件目录中执行

bash 复制代码
qmke
make DESTDIR=./build/
make install

然后再将生成的一些库拷贝到对应的路径下才能正常调用。

PS:最好使用和系统重同版本的Qt。

相关推荐
nianniannnn8 分钟前
c++复习自存--标准模板库STL
开发语言·c++·windows
努力努力再努力wz17 分钟前
【高性能网络库与HTTP Server系列】:基于主从 Reactor 模型实现高性能 C++ 网络库与 HTTP Server
开发语言·网络·数据结构·数据库·c++·网络协议·http
什巳25 分钟前
JAVA练习275-乘积最大子数组
java·开发语言·数据结构·算法
lang2015092829 分钟前
Apache POI Word(docx) 实战教程:从入门到精通表格合并、图片插入与文档合并
java·开发语言·word
鱼毓屿御1 小时前
Python 装饰器与函数调用机制(复习笔记 · 2026-07-07)
开发语言·python
浩瀚地学1 小时前
【Java基础复习】IO流(二)
java·开发语言·经验分享·笔记·学习
^yi1 小时前
【C++】内存管理
开发语言·c++
AC赳赳老秦2 小时前
采购专员自动化:OpenClaw 自动比价、生成询价单、跟踪供应商报价进度实战指南
开发语言·数据库·人工智能·python·自动化·github·openclaw
QiLinkOS2 小时前
QiLink OS的失败数据共享平台的运作模式是否适用于所有行业?
android·开发语言·人工智能·算法·重构·开源
CRMEB定制开发2 小时前
企业级Java电商系统选型路线图:从零到上线全流程拆解
java·开发语言·商城系统·小程序商城