Debian编译Qt5
0 前言
《Linux编译Qt5》介绍了Linux系统上编译Qt5的通用方法,本文重点介绍Debian及其衍生系统专用方法。
1 源码
Debian/Ubuntu将源码进行了拆分管理,可通过下面命令下载不同的部分(下面只列出了三个软件仓库,其实不止):
apt source qtbase-opensource-src
apt source qttools-opensource-src
apt source qtdeclarative-opensource-src
2 编译
(1)qtbase-opensource-src
sudo apt-get build-dep -y qtbase-opensource-src
cd qtbase-opensource-src-5.15.8+dfsg
DEB_BUILD_OPTIONS="parallel=$(nproc) nocheck" debuild -us -uc -b --build-profiles="nodoc"
注:ubuntu23.04 arm APT源软件包有缺失,无法从源中安装qtbase-opensource-src的下面依赖:
Build-Depends-Indep: qdoc-qt5 (>= 5.15~) <!nodoc>,qhelpgenerator-qt5 (>= 5.15~) <!nodoc>,qtattributionsscanner-qt5 <!nodoc>
# @file: qtbase-opensource-src-5.15.8+dfsg/debian/control
上述依赖的编译又依赖qtbase-opensource-src,形成了循环。为了打破依赖循环,上面添加--build-profiles="nodoc"参数,使得qtbase-opensource-src的编译暂时不依赖qttools-opensource-src、qtdeclarative-opensource-src。后面成功编译安装opensource-src、qtdeclarative-opensource-src后,再去掉--build-profiles="nodoc"参数重新编译qtbase-opensource-src即可。
(2)qttools-opensource-src、qtdeclarative-opensource-src
需要先编译安装上述qtbase-opensource-src才可以编译该软件仓库,编译方法类似qtbase-opensource-src,此处略。