更新: 自从我发布原始答案以来已经很长时间了,它已经过时了。我今天(2014 年 3 月 15 日)仔细检查了:在 Eclipse Kepler(内部版本号 20130614-0229)中,足以
在Project > Properties > C/C++ Build > Settings下添加,然后在Tool Settings选项卡 上添加GCC C++ Compiler > Miscellaneous-std=c++11
标志,
然后在Discovery选项卡上的Window > Preferences > C/C++ > Build > Settings下选择CDT GCC Built-in Compiler Settings并将标志添加到Command 以获取编译器规格。在我的机器上,更改后它看起来像这样: -std=c++11
${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
清理并重建您的项目和索引(Project > C/C++ Index > Rebuild),因为 Eclipse 倾向于缓存错误消息并显示它们,即使它们在更改设置后消失了。
这肯定适用于我的机器。如果它不在你的身上,那么你可能想试一试:C++11 full support on Eclipse虽然我不确定这种方法的正确性,也没有必要在我的机器上这样做。截至 2014 年 3 月 7 日,用户声称它对他们有帮助,而上述方法没有。
原来的帖子,现在已经过时了:
这些虚假错误来自Codan。整件事是因为 Codan 和编译器对 C++ 的理解不同,而Codan 是错误的。
可能的解决方法
单击项目属性,然后单击C/C++ General > Code Analysis > Syntax and Semantic Errors并取消选择您遇到的任何错误错误。缺点:你很可能最终会一一禁用大部分错误和警告,这很烦人。
在C/C++ General > Code Analysis > Syntax and Semantic Errors处完全禁用静态分析。您不会从 Codan 获得真正的错误,而只会在稍后从编译器中获得。
它们都不是解决方案,但至少您仍然可以使用 Eclipse IDE。