与GCC的pragma GCC诊断警告

klm*_*123 4 c++ warnings

我使用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诊断推送"弹出警告?,我的问题没有答案.

nos*_*nos 8

gcc有这两个标志来控制有关pragma的警告:

-Wunknown-pragmas 遇到GCC无法理解的"#pragma"指令时发出警告.如果使用此命令行选项,则甚至会为系统头文件中的未知pragma发出警告.如果警告仅由-Wall命令行选项启用,则情况并非如此.

-Wno-pragmas 不要警告pragma的错误,例如参数不正确,语法无效或pragma之间的冲突.另见-Wunknown-pr

你可以关掉它们-Wno-unknown-pragmas.

  • 仅供参考: -Wno-unknown-pragmas 没有帮助。但是 -Wno-pragmas 可以。 (2认同)