教程:在 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++
gdb
要选择软件包,请在 搜索 字段中输入其名称,并在 新建 列中设置版本:

安装完成后,打开 CLion 并转到 。
点击
并选择 Cygwin 以添加新的 Cygwin 工具链。
CLion 将尝试自动检测 Cygwin 安装。 检查 工具集 字段,并在需要时手动指定路径。
等待工具检测完成,然后点击 Apply。

如果需要, 指定初始化环境的脚本。
Windows Subsystem for Linux(Windows 子系统 Linux)
您可以使用 WSL (Windows Subsystem for Linux)作为 CLion 在 Windows 10 上的工作环境(从 Fall Creators Update 版本 1709,构建 16299.15 开始)。
WSL 工具链使您能够使用 CMake 和来自 Linux 的编译器构建项目,并在不离开 CLionLion 的情况下在 WSL 上运行/调试。

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

如果需要, 指定用于初始化环境的脚本。
MSVC 编译器
CLion 支持随 Visual Studio 2013、2015、2017、2019 和 2022 一起提供的 Microsoft Visual C++ 编译器。
当您的代码包含 MSVC extensions 时,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 及更高版本。
从 LLVM site 或与 Visual Studio 工具一起安装 clang-cl。
从 LLVM 网站安装时, clang-cl 二进制文件可以在 64 位版本的标准位置 C:\Program Files\LLVM\bin\clang-cl.exe 或 32 位版本的标准位置 C:\Program Files (x86)\LLVM\bin\clang-cl.exe 找到。
在 CLion 中,转到 并选择您要配置的 Visual Studio 工具链,或 create 一个新的工具链。
将 C 编译器 和 C++ 编译器 字段指向 clang-cl.exe 。 CLion 将建议自动检测到的路径。

请注意,如果使用捆绑的 CMake 与 Visual Studio 工具链设置(CPP-18848 ),当前无法拾取 -T clangcl 选项。
MSVC 调试器
MSVC 工具链调试器基于 LLDB 实现,可以与 Visual Studio 安装或项目中的本地可视化工具一起使用。
要启用本地可视化工具支持并设置所需的诊断级别,请在 中选择 为 LLDB 启用 Natvis 渲染器 复选框:

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

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

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

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

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

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

设置备用 shell
要在 Linux(本地或远程)、 WSL 和 Docker 上加载环境文件,CLion 会在默认登录 shell 中调用
source或.,具体取决于$SHELL变量。如果
$SHELL为空,CLion 将使用 Advanced settings 的 用于加载环境的备用 shell 字段中指定的 shell。
Windows 上的 Clang 编译器
从 CMake 3.15 开始,可以在 Windows 上使用 MinGW-w64/MinGW 工具链与 Clang 编译器一起使用。
然而,Windows 的 LLVM Clang 是使用 Microsoft Visual Studio 构建的,所有内置宏和包含搜索路径都设置为与 Visual Studio 一起使用。 因此,如果您从 LLVM repository 获取 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(版本 15.2)。 对于 Cygwin,您需要在 Cygwin 包管理器中安装 GDB 软件包,具体说明请参阅本指南的 Cygwin 部分。
您还可以切换到自定义 GDB 二进制文件。 在这种情况下,支持的 GDB 版本为 7.8.x-14.1。
请注意,对于 GDB 8.0 及更高版本,调试器输出默认会重定向到 CLion 控制台。 要启用打开外部控制台窗口以进行应用程序输入/输出,请转到 帮助 | 查找操作 或按 Ctrl+Shift+A ,搜索 Registry ,并设置以下键: cidr.debugger.gdb.workaround.windows.forceExternalConsole。

