添加编译器

您可以在多个 32 位和 64 位的平台上开发 Qt 应用程序。通常,您可以使用 GCC、供应商提供的编译器或第三方编译器在每个平台上构建 Qt 应用程序。在 Qt Creator 中,一个 套件 指定用于构建特定平台上的应用程序并运行它的编译器和其他必要的工具。

Qt Creator 会自动检测您的系统或 Qt 在线安装程序注册的编译器,并将它们列出在 首选项 > 套件 > 编译器

注意:在 macOS 上,仅当您使用 Homebrew 或 MacPorts 安装它时,才会自动检测到 ccache C/C++ 编译器缓存。当使用 MacPorts 时,您还需要根据 MacPorts Wiki 中的说明创建符号链接,如 如何在 MacPorts 中启用 ccache

重新检测编译器

当 Qt Creator 发现 x86_64 GCC 编译器时,它会为原生 x86_64 目标设置一个实例。如果您计划在不使用专用交叉编译器的情况下创建 32 位 x86 二进制文件,请选择 自动检测设置 > 将 x86_64 GCC 编译器检测为 x86_64 和 x86。然后选择 重新检测 以刷新自动检测到的编译器列表。

要手动删除添加的编译器,请选择 删除删除所有

添加 C 或 C++ 编译器

要添加 C 或 C++ 编译器

  1. 选择 首选项 > 套件 > 编译器
  2. 选择 添加 以添加新编译器或 克隆 以添加所选编译器的其他版本。
  3. 在列表中选择编译器。
  4. 选择 CC++
  5. 根据所选编译器设置 首选项

支持的编译器

您可以将以下编译器添加到使用其他编译器或使用其他版本的自动检测编译器构建应用程序。

编译器描述
Clang为 Windows、Linux 和 macOS 的 LLVM 编译器的 C、C++、Objective C 和 Objective C++ 前端。
clang-cl与Visual C++编译器兼容的Clang替代命令行界面,即cl.exe
GNU编译器集合 (GCC)适用于Linux和macOS的编译器。
Intel C++编译器 (ICC)一组C和C++编译器。目前Qt Creator仅支持与GCC兼容的变体,支持Linux和macOS。
MinGW(Windows的最小化GNU)用于在Windows上开发原生前端Microsoft Windows应用程序的GCC和GNU Binutils的原生软件端口。MinGW与Qt Creator和Qt for Windows捆绑分发。
Microsoft Visual C++编译器 (MSVC)与Microsoft Visual Studio一起安装的C++编译器。
Nim适用于Windows、Linux和macOS的Nim编译器。
QCC用于编译QNX上的C++应用程序的接口。
自定义除了列出的编译器和远程编译器。

emscripten编译器是将代码编译成WebAssembly的工具链。

裸金属编译器

此外,Qt Creator裸金属设备插件还支持以下编译器。

编译器描述
IAREW来自各种IAR嵌入式工作站的C和C++裸金属编译器集合。目前支持架构包括 8051AVRARMSTM8MSP430
KEIL来自各种KEIL开发环境的C和C++裸金属编译器集合。目前支持架构包括 8051ARM
SDCC适用于各种架构的优化C裸金属编译器。目前支持架构包括 8051STM8

解决MinGW编译错误

如果《编译输出》中显示的错误消息包含缺少斜杠的路径(例如,C:QtSDK),请检查您的PATH变量。在命令行中,输入以下命令

where sh.exe
where make.exe
where mingw32-make.exe

如果这些命令显示了路径,那么这些路径是在安装基于Cygwin或MinGW的工具链期间作为全局PATH变量添加的,尽管这与Windows约定相反。

为了继续使用第三方工具链,创建一个新的shell链接,将所需的路径添加进去(如Visual Studio和Qt所做的那样)。shell链接必须指向cmd.exe

C:\Windows\System32\cmd.exe /K C:\path_to\myenv.bat

其中,/K参数执行由bat文件指定的命令。

path_to处创建myenv.bat文件(应在一个方便的位置),在文件中指定工具链的路径。例如,

set PATH=C:\path1;C:\path2;%PATH%

其中path1path2是工具链的路径。

最后,从全局PATH中删除路径,重新启动计算机,再次运行where命令,以验证全局PATH现在是否已清空。

您可以使用shell链接来运行第三方工具链中的工具。

另见 编译器添加Nim编译器添加自定义编译器为裸金属设备开发支持的平台

©2024年Qt公司有限公司。本节中包含的文档贡献是各自所有者的版权。本提供在此的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下授权的。Qt以及相关标志是芬兰和/或其他国家的Qt公司商标。所有其他商标均为其各自所有者的财产。