如何在Eclipse Neon中启用C++ 11语法?

CPa*_*yne 19 c++ eclipse c++11 eclipse-neon

我正在Eclipse Neon中开发C + 11代码,并且今天注意到C + 11中引入的基于for循环的范围被IDE突出显示为红色,表示它无法识别它.

我找到了关于如何为旧版CDT执行此操作的多个链接(例如Eclipse CDT C++ 11/C++ 0x支持)您可以看到没有"工具设置"选项卡.

在此输入图像描述

有人可以建议如何配置我的项目,以便正确突出显示C++ 11语法(我使用单独的构建系统)

And*_* DM 39

  1. 右键单击您的项目,然后单击"属性"
  2. 导航到C/C++常规和预处理器包括路径,宏等.
  3. 选择Providers选项卡,单击您使用的编译器的编译器设置行.
  4. 将-std = c ++ 11添加到Command以获取编译器规范.
  5. 应用更改.

看起来像这样:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
Run Code Online (Sandbox Code Playgroud)

  • FWIW我还必须重建索引(右键单击你的项目 - >索引 - >重建). (7认同)
  • 这对我不起作用:(而是我去了1.属性2. C/C++ Build 3.设置4.方言5. put -std = c ++ 11 in Other dialect flags box 6. Apply and Build (3认同)
  • @Pavel 重新“必须为每个项目 [更改启用 c++11]”:您可以为所有 eclipse c++ 项目全局更改此设置。而不是仅为您的项目修改配置(通过:“右键单击您的项目”)...而是编辑所有项目的全局配置(通过:打开 Eclipse 菜单 --> 窗口 --> 首选项 --> C /C++ --> Build --> Settings --> Discovery --> "CDT GCC Build-in Compiler Settings" --> 然后附加`-std=c++11`或`-std=gnu++11 ` 或 `-std=gnu++0x`)。 (2认同)
  • 重建索引非常重要!我花了半个小时试图弄清楚为什么该解决方案对我不起作用。非常感谢@SyntheticGio (2认同)

man*_*ni0 5

您还可以执行以下操作

  1. 转到项目属性(alt输入)
  2. 在左侧窗格中,滚动到"C/C++ Build",折叠它,选择设置.
  3. 在右侧窗格中,在"工具设置"菜单下选择并折叠编译器,选择"方言",从下拉列表中选择languange标准,或在"其他方言标志"文本输入中输入-std = c ++ 11.

或者,

  1. 属性 - >"C/C++ Build" - >折叠并选择"设置"
  2. 在"工具设置"选项卡下,选择您的编译器,然后突出显示"其他"字段.
  3. 将-std = c ++ 11添加到"其他标志"输入字段.

  • 对于Eclipse Neon CDT,这些说明似乎不准确. (4认同)