Qt for Linux/X11 - 从源代码构建

本页介绍从源代码配置和构建Qt for Linux/X11。请注意,通过 Qt Online Installer.许多 Linux 发行版也会通过它们的软件包管理器提供 Qt 软件包。不过,如果你想进一步定制 Qt,或者你使用的发行版没有二进制 Qt 包(正确的版本),那么请从源代码构建 Qt。

发行版打包者可在打包建议中找到有关如何打包 Qt 的更多信息。

步骤 1:获取源代码

Qt 源代码可安装在Qt Online Installer 中。源码包也可通过 GitQt 账户中的存档(商业用户)和download.qt.io上的存档(开源用户)获得。

如果通过Qt Online Installer 安装源代码,它们将出现在 Qt 安装目录下,例如$HOME/Qt/6.9.0/Src

如果您下载的是单一源代码压缩包,请将其解压缩到您选择的目录中:

cd /tmp
tar xf ~/Downloads/qt-everywhere-src-6.9.0.tar.xz

步骤 2:安装构建要求

构建 Qt 需要一个包含工具、编译器和开发包的构建环境。

构建工具

工具支持版本
CMake3.22 及更新版本
忍者-
Python版本 3

注意: 如果ninja 可执行文件可用,configure 始终使用Ninja生成器和构建工具。Ninja 跨平台、功能丰富、性能卓越,建议在所有平台上使用。使用其他生成器可能可行,但未获官方支持。

编译器和开发包

Qt 6.9 支持以下编译器和配置:

发行版架构编译器注意事项
Red Hat8.6x86_64GCC 10(工具集)
Red Hat 8.8x86_64GCC 10(工具集)
Red Hat 8.10x86_64GCC 10(工具集)
Red Hat 9.2x86_64GCC 11
Red Hat 9.4x86_64GCC 11
openSUSE 15.5x86_64GCC 9、GCC 10、GCC 11、GCC 12
SUSE Linux Enterprise Server 15 SP5x86_64GCC 10
Ubuntu 22.04x86_64由 Canonical 提供的 GCC、GCC 11.x
Ubuntu 24.04x86_64, arm64由 Canonical 提供的 GCC,GCC 13.x请参阅注释
Debian 11.6x86_64, arm64GCC 10技术预览

另请参见:企业 Qt Debian 软件包

注: 对于台式机上的 Arm Linux,我们使用配备 8GB 内存和 Ubuntu 24.04 的 Raspberry Pi 5 作为参考平台。如果您在其他硬件上遇到问题,请尝试在 Raspberry Pi 5 上重现问题。我们计划在有更多基于 ARM 的桌面硬件可用时,转而支持常规平台。官方二进制文件是在 Ubuntu 24.04 上构建的,其中包含 glibc 2.39。

其他编译器和配置也可能适用,但尚未进行测试。

Qt 还依赖于各种库和开发包的可用性,这些库和开发包通常由相应分辨率的软件包管理器安装。详情请参阅Qt for X11 Requirements

步骤 3:构建 Qt 库和工具

要配置编译,请创建一个编译目录,并在此目录中运行./configure 脚本:

mkdir -p ~/dev/qt-build
cd ~/dev/qt-build
/tmp/qt-everywhere-src-6.9.0/configure

默认情况下,Qt XML 被配置安装在/usr/local/Qt-6.9.0 目录中。这可以通过-prefix 选项进行更改。如需进一步调整,请参阅配置选项列表。

configure 运行成功了吗?然后继续构建库和工具:

cmake --build . --parallel

构建完成后,您需要将库和工具安装到适当的位置(除非您启用了开发人员构建):

cmake --install .

请注意,这可能需要 root 访问权限。

步骤 4:构建应用程序

安装好 Qt 后,就可以开始用它构建应用程序了。

如果您使用命令行工作,请考虑将 Qt 工具添加到默认的PATH 中。具体步骤如下:

.profile (如果你的 shell 是 bash、ksh、zsh 或 sh)中,添加以下几行:

PATH=/usr/local/Qt-6.9.0/bin:$PATH
export PATH

.login (如果您的 shell 是 csh 或 tcsh)中,添加以下行:

setenv PATH /usr/local/Qt-6.9.0/bin:$PATH

如果您计划在集成开发环境中使用 Qt,则需要在其中明确注册 Qt 版本。有关Qt Creator ,请参阅Qt Creator: 添加 Qt 版本

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.