C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)

点击获CLion官方正式版

本文主要介绍在在 Windows 上配置 CLion中关于系统工具链的相关内容。

系统工具链

Windows 上的系统工具链允许在不选择预定义工具集或环境的情况下配置构建工具、编译器和调试器,类似于 Linux 和 macOS。将此工具链选项用于嵌入式开发案例,例如使用 ARM 或其他自定义设置。

  1. 转到文件 | 设置 | 构建、执行、部署 | 工具链。
  2. 单击添加工具链并选择系统以添加新的系统工具链。
  3. 如果需要,配置工具并提供环境脚本:

    C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)_第1张图片

通过脚本初始化工具链环境

可以将C及C++开发工具 CLion 指向为您的项目初始化环境的脚本,而无需手动设置变量。这很有帮助,例如,当需要初始化编译器变量、添加自定义变量或修改PATH.

指定环境脚本适用于所有工具链,但是,目前CMake 预设不支持它。

环境采购将在CMake 配置文件中工具链的第一次实际使用或加载Makefile项目时发生。

  1. 在工具链设置中,单击Add environment,然后单击From file:

    C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)_第2张图片

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

    C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)_第3张图片

  3. 如果出现脚本加载问题,将收到通知。CLion 还会检查脚本加载时间,如果时间过长则终止执行。le:

    C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)_第4张图片

Windows 上的 Clang 编译器

使用 CMake 3.15,可以在 Windows 上使用带有 MinGW-w64/MinGW 工具链的 Clang 编译器。

但是,适用于 Windows 的 LLVM Clang 是使用 Microsoft Visual Studio 构建的,并且所有内置宏和包含搜索路径都设置为与 Visual Studio 一起使用。因此,如果从LLVM 存储库中获取 Clang,则在使用 MinGW 工具链配置时它将无法正常工作。下面描述了一种可能的解决方法。

为 MinGW 设置 Clang 编译器

这样,您将获得使用mingw-w64构建的 Clang 编译器,并具有与此工具链对应的路径和宏。

  1. 安装MSYS2
  2. 使用pacman工具下载以下软件包(使用pacman -S package_name命令):
    • mingw-w64-x86_64-gcc
    • mingw-w64-x86_64-clang
    • mingw-w64-x86_64-lld
    • mingw-w64-x86_64-gdb
    • mingw-w64-x86_64-polly
    • mingw-w64-x86_64-compiler-rt
  3. 转到设置/首选项 | 构建、执行、部署 | Toolchains,创建一个MinGW工具链,并从 MSYS 设置工具。
    指定Toolset后,检查自动检测到的工具,并确保在C Compiler和C++ Compiler字段中切换到 Clang。

    C/C++开发工具CLion使用教程:在 Windows 上配置 CLion(下)_第5张图片

Windows 上的 GDB

对于 MinGW,CLion 包含捆绑的 GDB(版本 11.1)。对于 Cygwin,需要在 Cygwin 包管理器中安装 GDB 包。

还可以切换到自定义 GDB 二进制文件。在这种情况下,支持的 GDB 版本是 7.8.x-11.1。

请注意,对于 GDB 8.0 及更高版本,调试器输出默认重定向到 CLion 控制台。要启用为应用程序输入/输出打开外部控制台窗口,请转到帮助 | 查找 Action或按Ctrl+Shift+A,搜索Registry,然后设置以下键:cidr.debugger.gdb.workaround.windows.forceExternalConsole。

以上就是在 Windows 上配置 CLion教程的第三部分内容,更多关于CLion使用教程可点击查看,想要了解更多产品信息欢迎留言哦。

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。

你可能感兴趣的:(c++,c#,ide,clion,jetbrains)