【问题标题】:Adding compiler switch to Eclipse CDT Built-In Compiler Settings generation?将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
【发布时间】:2019-03-01 12:14:59
【问题描述】:

我有一个基于 Makefile 的 Eclipse CDT 项目,Project > Properties > C/C++ General > Preprocessor Include Paths, Macros etc. > GNU C++ > CDT GCC Built-in Compiler Settings > __cplusplus 下的值为 201402L

我在 Makefile 中设置了 -std=c++17 标志,所以这个预定义宏的实际值是 201703L 而不是 201402L

显然,GCC Built-In Compiler Settings 中的预定义宏列表是在没有 -std=c++17 标志的情况下生成的。

是否可以设置用于在CDT GCC Built-in Compiler Settings 中生成预定义宏列表的编译器标志并触发它们重新生成?如果是这样,这是在哪里/如何配置的?

【问题讨论】:

标签: c++ linux eclipse eclipse-cdt c++17


【解决方案1】:

在同一个首选项页面上,如果您切换到Providers 选项卡(而不是Entries),并选择CDT GCC Built-in Compiler Settings 提供程序,则那里有一个Command to get compiler specs。您可以修改该命令,例如添加-std=c++17。在该页面上按Apply 将自动触发提供程序再次运行并更新预定义宏列表。

您还可以在Window -> Preferences -> C/C++ -> Build -> Settings -> Discovery tab 中配置此工作区范围。 Use global provider shared between projects 复选框(就在 Command to get compiler specs 上方)控制项目是使用工作区范围的设置还是自己的设置。

【讨论】:

    猜你喜欢
    • 2014-04-03
    • 2011-01-21
    • 1970-01-01
    • 2018-01-28
    • 2011-09-23
    • 1970-01-01
    • 2016-04-04
    • 2012-07-08
    • 1970-01-01
    相关资源
    最近更新 更多