如何禁用gcc警告"cc1:warning:命令行选项'-std = c ++ 11'对C++/ObjC++有效,但对C无效[默认启用]"

ami*_*tfr 10 c gcc cmake gcc-warning

我是cmake和gcc的新手.我在公司的新角色中的第一个任务是清理我的linux编译中的大部分错误,现在我看到的唯一警告是

cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]

我希望枯萎抑制警告或解决cmake文件中的问题.不幸的是,我还没有找到-Wno-xxx适合这里的正确陈述.

谢谢!

use*_*342 5

代码问题警告可以通过-Wno-xxx选项进行静音,因为有时您无法控制源代码.但是警告告诉您命令行选项不正确无法使用另一个命令行选项进行静音 - 如果您可以影响编译器调用,那么为什么不删除不正确的选项呢?

此特定警告告诉您在编译C代码时无法将标准设置为C++ 11.要摆脱它,找到-std=c++11构建配置中定义的位置,并确保它仅应用于C++编译,而不是C.例如,将其移至CFLAGSto CXXFLAGS或cmake的等效项.