CLion 2025.2 Help

自定义编译器

如果您使用的编译器未在 CLion 中 默认支持 ,请切换到 自定义编译器选项。 您可以定义任何 IDE 尚未识别的编译器,甚至是可能未公开提供的稀有编译器。 此选项对于 嵌入式开发特别有用。

准备编译器描述

为了在 CLion 中使用自定义编译器,您需要创建一个包含其描述的配置文件,格式为 YAML

  • 在自定义编译器 YAML 文件中,您需要确定编译器的以下详细信息:

    • 支持的语言:每种支持的语言或语言变体至少需要一个配置部分。

    • 编译器二进制文件名称(可以有多个):某些工具链对 C 和 C++、不同的内存模型、语言变体等使用不同的编译器二进制文件;这些信息可以在工具链文档中找到。

    • 标准包含目录位置:要识别这些目录,请阅读编译器文档或查看已安装的工具链文件夹树。

    • 预定义宏列表:某些编译器可以报告其预定义宏的列表,而其他编译器则不能;请参考编译器文档以了解如何获取这些宏。

    自定义编译器配置格式包括一个必需的 compilers部分,其中包含记录列表。 每条记录都包含编译器的描述以及用于识别编译器调用的多个标签。

    第一个匹配的记录用于为 CLion 语言引擎提供编译器信息,包括系统定义宏列表、Clangd 的目标平台名称以及系统头文件路径列表。

    自定义编译器配置示例

    description

    编译器名称(必需参数)

    match-sources

    源文件名称的正则表达式

    match-compiler-exe

    编译器可执行文件名称的正则表达式,要求从任何位置使用具有此名称的编译器(必需参数)

    match-args

    编译器命令行键

    match-language

    检测到的语言,C 或 CPP(仅 CMake 需要)

    code-insight-target-name

    用于 Clangd的目标平台名称

    include-dirs

    编译器特定的头文件搜索路径;此设置中允许的变量为 ${compiler-exe}${compiler-exe-dir}${user-home}${project-path}

    defines

    'name: value' YAML 格式的编译器特定宏(value 部分可以为空)

    defines-text

    '#define name value' C 格式的编译器特定宏(value 部分可以为空)

  • 我们准备了一些 示例来帮助您入门。 您可以直接使用它们,也可以将其作为创建您自己配置的模板。

在工具链设置中指定 .yaml 配置

  1. 转到 设置 | 构建、执行、部署 | 工具链 | 自定义编译器

  2. 选中 使用自定义编译器配置 (*.yaml) 复选框并提供路径:

    自定义编译器配置设置
  3. 切换到 工具链 对话框,选择要编辑的工具链或 创建一个新的工具链。

  4. C 编译器C++ 编译器 字段中的路径更改为您的自定义编译器:

    在工具链设置中指定自定义编译器

    或者,您可以在 Makefile 中手动传递自定义编译器,或通过 CMake 配置文件设置传递。 在这种情况下,自定义编译器将仅用于当前项目。

检查自定义编译器

当自定义编译器配置成功后,您的代码将正确解析,所有代码辅助操作将按预期工作。 要仔细检查您的自定义编译器是否正确设置,请执行以下操作:

  1. 加载您的 CMakeMakefile编译数据库项目。

  2. 在编辑器中打开任何 C/C++ 项目文件。

  3. 从主菜单调用 帮助 | 诊断工具 | 显示编译器信息

  4. 如果一切正常,您将看到编译器类型和名称(如配置文件中定义的),以及编译器预定义宏的列表:

    编译器信息视图

在 CLion 中编辑 .yaml 配置

  • CLion 默认支持 YAML 语言(请参阅 CLion 功能支持多种语言)。 要获得特定于模式的验证、代码补全、快速文档和其他操作,请切换到 自定义编译器定义 模式。

    打开 .yaml 配置,点击 IDE 底部状态栏上的模式切换器,并选择 自定义编译器定义

    YAML 自定义编译器配置模式
最后修改日期: 2025年 9月 26日