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