在Eclipse CDT(Juno/Kepler/Luna)索引器中启用C++ 11

Nob*_*ody 37 c++ eclipse-cdt c++11

如何在Juno/Kepler/Luna中的Eclipse CDT索引器上启用对新C++标准的支持?

Nob*_*ody 86

请注意,此问题(和答案)仅处理Eclipse索引器,该索引器用于在编译之前突出显示错误.C++编译器设置不会更改!(因此,由于缺少C++ 11设置,编译仍然可能失败,但请查看"相关"部分)

要更改Eclipse索引器设置,请转到 Project properties- > C/C++ General- > Preprocessor Include Paths, Macros etc.- >选项卡Providers- >CDT GCC Built-in Compiler Settings

并追加-std=c++0x(或-std=c++11)Command to get compiler specs:

之后它应该看起来像:

$ {COMMAND} -E -P -v -dD $ {INPUTS} -std = c ++ 0x

应用更改的配置窗格的屏幕截图

来源

有关

更新

使用Eclipse成功测试

  • 开普勒(CDT 8.2)
  • Luna(CDT 8.4)

  • 另外,在更改生效之前,我必须重新启动Eclipse! (17认同)
  • 在Kepler下,执行此操作后,我仍然遇到相同的错误,我需要在IDE看到结果之前重建索引:http://stackoverflow.com/questions/3008293/clean-eclipse-index-it-is -out不同步与 - 代码 (5认同)
  • 如果其他人无法使用它,我还必须出于某种原因将此符号添加到Eclipse:__ GXX_EXPERIMENTAL_CXX0X__ (3认同)
  • 好极了!在index-rebuild + eclipse-restart之后,这里工作得很好.我正在使用Kepler:版本:Kepler Service Release 2.构建ID:20140224-0627. (2认同)