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

37

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


1
这不是重复的。那个问题中接受(并正确)的答案不在其中。 - Steve
@Steve:Johan Lundberg的回答包含了被接受的答案:https://dev59.com/2mox5IYBdhLWcg3wjE5i#13549029 - Nobody moving away from SE
1个回答

88
请注意,此问题(和答案)仅涉及用于在编译之前突出显示错误的Eclipse索引器。C ++编译器设置没有更改!(因此,由于缺少C ++11设置,编译仍可能失败,但请查看“相关”部分)
要更改Eclipse索引器设置,请转到项目属性-> C / C ++通用->预处理器包含路径、宏等->选项卡提供程序-> CDT GCC内置编译器设置
并将-std=c++0x(或-std=c++11)附加到获取编译器规格的命令:
之后它应该看起来像这样: ${COMMAND} -E -P -v -dD ${INPUTS} -std=c++0x

Screenshot of the configuration pane with the change applied

来源

相关

更新

已在以下Eclipse版本中成功测试

  • Kepler(CDT 8.2)
  • Luna(CDT 8.4)

17
另外,我不得不重新启动 Eclipse 才能使更改生效! - abergmeier
3
如果其他人也无法使此工作,请注意,由于某种原因,我还必须将此符号添加到Eclipse中:__GXX_EXPERIMENTAL_CXX0X__。 - KyleL
5
在 Kepler 版本中,我尝试了这个方法后仍然出现同样的错误。在结果对 IDE 可见之前,我需要重新构建索引:https://dev59.com/eHA75IYBdhLWcg3w9-Ox - mseddon
对于Eclipse 4.4 Luna,你还需要修改编译器设置:https://dev59.com/2mox5IYBdhLWcg3wjE5i#24561615 - Trismegistos
@Trismegistos:请注意,这个问题特别涉及到索引器,而不是其他可能配置为使用C++11的部分。因此,答案仍然是一样的。 - Nobody moving away from SE
2
太好了!在重建索引和重启Eclipse后,这里运行得很好。我正在使用Kepler:版本:Kepler Service Release 2. Build id:20140224-0627。 - JohnTortugo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接