本页内容

macOS 版 Qt - 从源代码编译

系统要求

构建 Qt 需要系统上已安装 macOS 平台 SDK 及相应的工具链。您可以按照“构建环境”中的说明安装 Xcode 来获取这些组件。

您应始终使用“支持的配置”中列出的完全相同的 Xcode 和 SDK 版本,以确保 Qt 已在您正在构建的配置下经过测试。

除了 Xcode 之外,您还需要确保以下依赖项位于您的路径PATH 中。

如果您想构建 Qt WebEngine 或 Qt PDF,你还需要以下额外依赖项:

  • Python、html5lib
  • Bison、Flex
  • Gperf
  • Node.js 8 及以上版本(建议使用 12 版)

QDoc 依赖项

QDoc使用 Clang 来解析 C++ 代码。如果您希望手动构建 QDoc,请参阅《为 QDoc 安装 Clang》以了解具体的构建要求。

构建步骤

以下说明介绍了如何从源代码包构建 Qt。您可以从“下载”页面下载 Qt 源代码。如需了解更多信息,请访问“Qt 入门”页面。

步骤 1:解压存档

若尚未解压归档文件,请先进行解压。例如,若您拥有qt-everywhere-src-6.12.0.tar.xz 包,请在命令行提示符下输入以下命令:

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

这将创建名为/tmp/qt-everywhere-src-6.12.0 的目录,其中包含归档文件中的文件。

步骤 2:构建 Qt 库

要根据您的机器类型配置 Qt 库,请创建一个构建目录并切换到该目录。在此目录中运行./configure 脚本。

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

注意: 如果存在ninja 可执行文件,configure 始终会使用Ninja生成器和构建工具。Ninja 具有跨平台、功能丰富、性能优异等特点,推荐在所有平台上使用。使用其他生成器可能有效,但不被官方支持。

默认情况下,Qt 配置为安装在/usr/local/6.12.0 目录中,但可通过使用-prefix 选项进行更改。

默认情况下,Qt 会作为框架进行构建,但您可以通过指定-no-framework 选项将其构建为一组动态库(dylibs)。

如“架构”部分所述,Qt 默认会针对您的开发机器的架构进行构建。若要配置支持 Intel 和 Apple Silicon Mac 的通用 Qt 构建,请添加以下参数:

./configure -- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"

注意: 通用构建 始终需要包含您的开发机器的架构,因为该过程依赖于作为整体构建的一部分在您的机器上构建和运行的工具。

请务必先指定 Intel 架构(“x86_64”),否则 Qt 可能无法启用所有 x86 功能。

Qt 还可以配置为带调试符号进行构建。此过程在《调试技术》文档中有详细说明。

“配置选项”页面包含有关配置选项的更多信息。

要生成库并编译所有示例和工具,请输入:

cmake --build . --parallel

如果 `-prefix ` 位于构建目录之外,您需要将库、示例和工具安装到适当的位置。为此,请输入:

cmake --install .

此命令要求您在计算机上拥有管理员权限。

步骤 3:设置环境变量

为了使用 Qt,需要扩展某些环境变量。

PATH               - to locate qmake, moc and other Qt tools

操作方法如下:

在 `.profile `(如果您的 shell 是 bash)或 `.zshenv `(如果是 zsh)中添加以下几行:

PATH=/usr/local/Qt-%VERSION%/bin:$PATH
export PATH

在.login 文件中(若您的shell是csh或tcsh),添加以下行:

setenv PATH /usr/local/Qt-%VERSION%/bin:$PATH

如果您使用的是其他 shell,请据此相应修改环境变量。

Qt 现已安装完毕。

© 2026 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.