添加编译器
您可以在多个 32 位和 64 位平台上开发 Qt 应用程序。通常,您可以使用 GCC、供应商提供的编译器或第三方编译器在每个平台上构建 Qt 应用程序。在Qt Creator 中,一个工具包指定了用于在特定平台上构建和运行应用程序的编译器和其他必要工具。
Qt Creator 自动检测系统或系统注册的编译器,并在 "首选项">"编译器 "中列出。 Qt Online Installer注册的编译器,并将其列在首选项>Kits >Compilers 中。
注意: 在 macOS 上,只有在使用 Homebrew 或 MacPorts 安装ccache
C/C++ 编译器缓存时,才会自动检测到。使用 MacPorts 时,还需要按照 MacPorts wiki 中 "如何启用 ccache"的说明创建符号链接。
重新检测编译器
当Qt Creator 发现 x86_64 GCC 编译器时,它会为本地 x86_64 目标创建一个实例。如果你打算在不使用专用交叉编译器的情况下也创建 32 位 x86 二进制文件,请选择Auto-detection Settings >Detect x86_64 GCC compilers as x86_64 and x86 。然后选择Re-detect ,刷新自动检测到的编译器列表。
要删除手动添加的编译器,请选择Remove 或Remove All 。
添加 C 或 C++ 编译器
添加 C 或 C++ 编译器:
支持的编译器
您可以添加以下编译器,通过使用其他编译器或自动检测到的编译器的其他版本来构建应用程序。
编译器 | 说明 |
---|---|
Clang | 用于 Windows、Linux 和 macOS 的 LLVM 编译器的 C、C++、Objective C 和 Objective C++ 前端。 |
Clang-cl | Clang 的替代命令行接口,与 Visual C++ 编译器cl.exe 兼容。 |
GCC(GNU 编译器集) | 适用于 Linux 和 macOS 的编译器。 |
ICC(英特尔 C++ 编译器) | 一组 C 和 C++ 编译器。Qt Creator 目前只支持与 GCC 兼容的变体,适用于 Linux 和 macOS。 |
MinGW(适用于 Windows 的极简 GNU) | GCC 和 GNU Binutils 的本地软件移植,用于在 Windows 上开发本地 Microsoft Windows 应用程序。MinGW 与Qt Creator 和 Qt XML for Windows 一起发布。 |
MSVC(Microsoft Visual C++ 编译器) | 与 Microsoft Visual Studio 一起安装的 C++ 编译器。 |
Nim | 适用于 Windows、Linux 和 macOS 的 Nim 编译器。 |
QCC | 用于编译 QNX C++ 应用程序的界面。 |
自定义 | 除列出的编译器和远程编译器外的其他编译器。 |
emscripten 编译器是编译为WebAssembly 的工具链。
裸机编译器
此外,Qt Creator Bare Metal 设备插件还支持以下编译器。
编译器 | 说明 |
---|---|
IAREW | 来自各种 IAR Embedded Workbench 开发环境的一组 C 和 C++ 裸机编译器。目前支持的架构有8051 ,AVR ,ARM ,STM8 和MSP430 。 |
KEIL | 来自不同 KEIL 开发环境的一组 C 和 C++ 裸机编译器。目前支持的架构有8051 和ARM 。 |
SDCC | 适用于各种体系结构的优化 C 裸机编译器。目前支持的体系结构有8051 和STM8 。 |
排除 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%
其中path1和path2是工具链的路径。
最后,从全局 PATH 中删除这些路径,重新启动计算机,再次运行where
命令,以验证全局 PATH 是否已清除。
您可以使用 shell 链接运行第三方工具链中的工具。
Copyright © The Qt Company Ltd. and other contributors. 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.