到目前为止我的经验是,Eclipse 的错误发现是可怕的错误,没有任何解决方案(尝试过__GXX_EXPERIMENTAL_CXX0X__
, -std=c++0x
, -std=c++11
在设置的每个点附近)。我现在不想再寻找解决方案了。现在我只想看到真正的编译器错误。但如何实现这一点呢?
UPDATE:自从我发布原始答案以来已经很长时间了,它已经过时了。我今天仔细检查了(2014 年 3 月 15 日):在 Eclipse Kepler(Build id 20130614-0229)中,足以
添加下项目 > 属性 > C/C++ 构建 > 设置然后在工具设置 tab GCC C++ 编译器 > 其他 the -std=c++11
flag,
-
然后在窗口 > 首选项 > C/C++ > 构建 > 设置 on the 发现选项卡选择CDT GCC 内置编译器设置并添加-std=c++11
标记为获取编译器规格的命令。在我的机器上,更改后如下所示:
${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
清理并重建您的项目and你的索引(项目 > C/C++ 索引 > 重建),因为 Eclipse 倾向于缓存错误消息并显示它们,即使它们在更改设置后消失了。
这在我的机器上肯定有效。如果它不适合你,那么你可能想尝试一下:Eclipse 完全支持 C++11 https://stackoverflow.com/q/22074724/341970尽管我不确定这种方法的正确性,也没有必要在我的机器上执行此操作。截至2014年3月7日的用户claim https://stackoverflow.com/questions/22074724/c11-full-support-on-eclipse#comment33807529_22074724它对他们有帮助,而上述方法却没有。
The original post from 2012, now outdated:
这些虚假错误来自Codan http://wiki.eclipse.org/CDT/designs/StaticAnalysis。我还发出了错误报告 http://www.eclipse.org/forums/index.php/mv/tree/274600/776516/#page_top(C++03!!!)但同样的问题出现在最新的稳定版 Eclipse 中,所以我认为没有发生太多事情:(
解决方法:
单击项目属性,然后C/C++ 常规 > 代码分析 > 语法和语义错误并取消选择您收到的任何虚假错误。
我只想看到真正的编译器错误
当然,您可以完全禁用静态分析,这样您就可以完全完成您想要的事情。
UPDATE:2 位用户报告 Jeevaka 所写的内容对他们有帮助。我已经尝试过他写的内容,它对我的 Juno SR1 和 CDT 8.1.1 没有帮助。也许 Codan 开发人员改进了 Juno SR2 和 CDT 8.1.2 中的静态分析
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)