教程:在 Windows 上配置 CLion
在 Windows 上,CLion 工具链包括构建工具、C 和 C++ 编译器、调试器可执行文件以及环境。 您可以选择一个预定义的工具链设置(MinGW、 Cygwin、 Microsoft Visual C++ 或 WSL、 Remote Host、 Docker ),或者配置一个自定义工具链(System):

观看此视频以了解 Windows 工具链选项的概述:
有关 远程主机 工具链的更多信息,请参阅 本地源的远程。 如果您使用的是 Docker 容器,请参阅 Docker 工具链。
MinGW
CLion 捆绑了一个 MinGW 工具集版本以便快速设置。 捆绑的确切版本是 MinGW-w64 13.1,包括 languages=c,c++、 posix 线程和 seh 异常。 可以使用此捆绑工具链,也可以切换到自定义 MinGW 安装。
配置 MinGW 工具链
转到 。
点击
并选择 MinGW 以添加新的 MinGW 工具链。
在 工具集 字段中,您将看到 Bundled MinGW ,这是默认选项。 如果需要,打开该字段,从其他可用安装列表中进行选择:

等待工具检测完成。

选择 调试器 :您可以使用捆绑的 GDB、您的 MinGW GDB 或自定义 GDB 二进制文件。
如果需要, 指定用于初始化环境的脚本。
当所有工具设置正确时,点击 Apply。
Cygwin
下载 Cygwin 安装程序,版本为 2.8 或更高。
运行安装程序并选择以下软件包:
gcc-g++
cmake
gdb
CLion 不附带适用于 Cygwin 的 CMake 构建,因此 Cygwin 工具链会使用 Cygwin 安装中的 cmake 软件包。
要选择软件包,请在 搜索 字段中输入其名称,并在 新建 列中设置版本:

安装完成后,打开 CLion 并转到 。
点击
并选择 Cygwin 以添加新的 Cygwin 工具链。
CLion 将尝试自动检测 Cygwin 安装。 检查 工具集 字段,并在需要时手动指定路径。
等待工具检测完成。
在 CMake 字段中,CLion 会选择 Cygwin 版 CMake ,它是 Cygwin 安装中的 cmake 可执行文件。 如果 CLion 未找到它,请安装 cmake 软件包,或打开该字段并选择另一个 CMake 安装。
点击 Apply。
如果需要, 指定用于初始化环境的脚本。
Windows Subsystem for Linux(Windows 子系统 Linux)
可以在 Windows 10 上使用 WSL, 适用于 Linux 的 Windows 子系统, 作为 CLion 中的工作环境 (从 Fall Creators Update 版本 1709, 构建 16299.15 开始)。
WSL 工具链启用了使用 CMake 和 Linux 中的编译器构建项目,并在 WSL 上运行/调试的功能,而无需离开 Windows 计算机上运行的 CLionLion。

Microsoft Visual C++
在系统上安装 Visual Studio 2017、2019 或 2022。
在 CLion 中,转到 。
点击
并从工具链模板列表中选择 Visual Studio。
检查 工具集 字段。 CLion 将尝试自动检测已安装的 Visual Studio 发行版。 如果检测失败,请手动设置 Visual Studio 的路径。
如果需要,指定 架构 (x86、 amd64、 x86_arm 或其他)、 平台 (store、 uwp、 onecore 或留空)和 Version。 为了针对所选架构构建项目,CLion 将调用脚本,以使用指定参数配置环境。
等待工具检测完成:

如果需要, 指定用于初始化环境的脚本。
MSVC 编译器
CLion 支持随 Visual Studio 2017、2019 和 2022 一起提供的 Microsoft Visual C++ 编译器。
如果代码包含 MSVC 扩展程序 ,CLion 将提供以下支持:
__uuidof、__forceinline、__unaligned和__alignof关键字;指针类型属性:
__ptr32、__ptr64、__uptr、__sptr;MSVC 内置数据类型:
(unsigned) __int8、(unsigned) __int16、(unsigned) __int32、(unsigned) __int64、__wchar_t;其他格式说明符,例如
%I32和%I64;clang 的
-fms-extensions标志。
Clang-cl 编译器
作为替代编译器,您可以使用 clang-cl——Clang 的 MSVC 兼容编译器驱动程序。 CLion 支持 clang-cl 版本 8.0 及更高版本。
请注意,如果使用捆绑的 CMake 与 Visual Studio 工具链设置(CPP-18848 ),当前无法拾取 -T clangcl 选项。
MSVC 调试器
MSVC 工具链调试器基于 LLDB 实现,可以使用 Visual Studio 安装或项目中的原生可视化器。
本地可视化器或 Natvis 渲染器在 CLion 中默认启用。 要设置所需的诊断级别,请转到 :

CLion 会自动为所有未被 Natvis 覆盖的结构生成单行摘要,并高亮显示以提高可读性。 此外,内置格式化程序为宽/Unicode 字符串(wchar_t、 char16_t、 char32_t )提供可视化。
默认情况下,CLion 会自动查找并加载添加到项目模型、属于所选 MSBuild 或 MSVC 工具链,或位于 %USERPROFILE%\Documents\Visual Studio Version\Visualizers 中的 .natvis 文件。

您还可以为 .natvis 文件指定自定义位置。 转到 并添加一个包含 Natvis 渲染器的额外目录:

CLion 支持大多数 Natvis 自定义功能,例如 ArrayItems、 IndexListItems、 LinkedListItems、 TreeItems、 Inheritable attribute、 Format specifiers 和 CustomListItems。
使用 MSVC 工具链调试器时,您可以启用符号服务器支持,这将帮助调试器正确解析库符号。 欲了解更多信息,请参阅 在 Windows 上调试时使用符号服务器。
系统工具链
Windows 上的 系统 工具链允许配置构建工具、编译器和调试器,而无需选择预定义的工具包或环境,类似于 Linux 和 macOS。 对于使用 ARM 等 嵌入式开发场景或其他自定义设置,请使用此工具链选项。
在主菜单中,进入 .
点击
并选择 系统 以添加新的系统工具链。
配置工具,并在需要时提供 环境脚本:

通过脚本初始化工具链环境
与手动设置环境相比,您可以将 CLion 指向一个环境文件——一个为您的项目初始化环境的 shell 脚本。 例如,当您需要初始化编译器变量、添加自定义变量或修改 PATH 时,这会很有帮助。
支持以下环境文件:
bat 文件 — Windows MinGW 和 MSVC 工具链。
ps1 文件 — Windows MinGW、Cygwin 和 MSVC 工具链。
shell 文件 — Windows Cygwin、本地 Linux/macOS、WSL、Docker 和远程工具链。
大多数框架都包含环境脚本,您可以直接使用。 请参阅 ESP-IDF on macOS 的示例。 您还可以创建自己的脚本,例如,当您需要源多个环境文件时:请参阅 ESP-IDF on Windows 的示例。
在工具链设置中,点击 添加环境 ,然后点击 从文件:

在 环境文件 字段中,指定脚本的路径:

如果脚本加载出现问题,您将收到通知。 CLion 还会检查脚本加载时间,并在执行时间过长时终止执行。

设置备用 shell
Windows 上的 Clang 编译器
从 CMake 3.15 开始,可以在 Windows 上将 Clang 编译器与 MinGW-w64/MinGW 工具链一起使用。
然而,Windows 的 LLVM Clang 是使用 Microsoft Visual Studio 构建的,所有内置宏和包含搜索路径都设置为与 Visual Studio 一起使用。 因此,如果从 LLVM 仓库 获取 Clang,在使用 MinGW 工具链配置时,它将无法正常工作。 以下描述了一种可能的解决方法。
为 MinGW 设置 Clang 编译器
安装 MSYS2。
在 MSYS 终端中,运行以下 pacman 命令以下载使用 clang 构建的完整 set of packages:
pacman -S mingw-w64-clang-x86_64-toolchain再运行一个命令以获取 MinGW-w64 GDB 调试器:
pacman -S mingw-w64-clang-x86_64-gdb转到 并创建一个 MinGW 工具链。
将 工具集 设置为 C:\msys64\clang64 。 如果其他路径未被自动检测到,请手动设置。

Windows 上的 GDB
对于 MinGW,CLion 包含捆绑的 GDB(版本 17.1)。 对于 Cygwin,需要在 Cygwin 软件包管理器中安装 GDB 软件包,如本指南的 Cygwin 部分所述。
还可以切换到自定义 GDB 二进制文件。 在这种情况下,支持的 GDB 版本为 7.8.x-17.1。
请注意,对于 GDB 8.0 及更高版本,调试器输出默认会重定向到 CLion 控制台。 要启用打开外部控制台窗口以进行应用程序输入/输出,请转到 帮助 | 查找操作 或按 Ctrl+Shift+A ,搜索 Registry ,并设置以下键: cidr.debugger.gdb.workaround.windows.forceExternalConsole。


