Eclipse CDT doesn't know about the _Noreturn keyword并将其显示为语法错误。
建议的解决方法是将一个空的预处理器宏条目添加到 CDT 用户设置条目,但显然这必须在每个项目的项目设置中完成。
除了完全隐藏所有语法错误之外,是否有办法为所有项目全局修复此问题? “CDT 用户设置条目”显示在 C/C++ > Build > Settings 下的全局首选项中,但显然无法在那里进行编辑。 (使用 Eclipse Oxygen.3a/4.7.3a)
最佳答案
在提到的首选项页面上,您可以编辑“内置编译器设置”提供程序的“获取编译器规范的命令”以添加 -D_Noreturn=""
。
然后,只要您的项目配置为使用全局“内置编译器设置”提供程序(在“项目属性”->“C/C++ 常规”->“预处理器包含路径、宏”中选中“使用项目之间共享的全局提供程序”)等等 -> Providers 选项卡 -> Built-in Compiler Settings provider),他们将选择这个宏定义。
你也可以考虑 contributing a fix为 CDT 添加对 _Noreturn
的属性支持。
关于c - 在 Eclipse CDT 中隐藏错误的 noreturn 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50107848/