我正在Eclipse Neon中开发C + 11代码,并且今天注意到C + 11中引入的基于for循环的范围被IDE突出显示为红色,表示它无法识别它。
我找到了多个关于如何为旧版CDT执行此操作的链接(Eclipse CDT C++11/C++0x support)您可以看到没有“工具设置”标签。
有人可以建议如何配置我的项目,以便正确突出显示C ++ 11语法(我使用的是单独的构建系统)
答案 0 :(得分:38)
看起来像这样:
${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
答案 1 :(得分:5)
您还可以执行以下操作
可替换地,
答案 2 :(得分:1)
由于我不明白的原因,在搜索为什么我的Fedora 27上运行的Eclispe Oxygen + CDT 9.3.2无法可靠地调试我的代码的线索时,谷歌提出了这个问题/答案。
基本上我的问题是,使用C ++ 11特性(特别是shared_ptr)的一个相当简单的C ++程序在Fedora 27(具有gdb版本8.0.1)的Eclipse Oxygen 2 + CDT 9.3.2中是不可调试的。从标准包repo安装)。进入几个方法调用导致挂起的调试会话,没有任何进行,终止Eclipse恢复。
如果我在命令行上使用gdb调试二进制文件,那么一切都很好;我可以设置断点等,一切都按预期工作。但是从Eclipse内部来看,没什么可做的。
然而,如安德烈亚斯所示,将-std = c ++ 11放入项目设置中解决了这个问题。我很少知道为什么。我以为我会把它放在一起以防其他人遇到类似的问题。
g ++版本为7.2.1
答案 3 :(得分:0)
出于某种原因编辑全局c ++编译器设置对我不起作用。按照说明修改项目特定设置确实有效。请参阅:Eclipse CDT C++11/C++0x support
答案 4 :(得分:0)
如果以上方法均不适合您: 只要检查是否
Properties > C/C++ Build > Settings > Tool Settings tab > Dialect
确认在语言标准下拉菜单中是否具有“ ISO C ++ 11 ...” 选项。
如果是,则选择>应用并关闭。
我希望这会起作用。