我使用gcc 4.5.1并获得如下警告:
warning: expected [error|warning|ignored] after '#pragma GCC diagnostic'
Run Code Online (Sandbox Code Playgroud)
原因是"#pragma GCC诊断推送",GCC <4.6不存在.
我无法更改代码(不是我的代码)和gcc版本.如何禁用这些警告?一些gcc标志可能是?
PS我在GCC/C++中看到了为什么"pragma GCC诊断推送"弹出警告?,我的问题没有答案.
gcc有这两个标志来控制有关pragma的警告:
-Wunknown-pragmas 遇到GCC无法理解的"#pragma"指令时发出警告.如果使用此命令行选项,则甚至会为系统头文件中的未知pragma发出警告.如果警告仅由-Wall命令行选项启用,则情况并非如此.
-Wno-pragmas 不要警告pragma的错误,例如参数不正确,语法无效或pragma之间的冲突.另见-Wunknown-pr
你可以关掉它们-Wno-unknown-pragmas.