我使用 GCC 4.5.1 并收到如下警告:
警告:在“#pragma GCC 诊断”之后预期 [error|warning|ignored]
原因是“#pragma GCC 诊断推送”,它在 4.6 版之前的 GCC 中不存在。
我无法更改代码(这不是我的)和 GCC 版本。如何禁用这些警告?一些 GCC 标志可能是?
PS:我在 GCC/C++ 中看到为什么“pragma GCC diagnostic push”弹出警告?,但我的问题没有答案。
我使用 GCC 4.5.1 并收到如下警告:
警告:在“#pragma GCC 诊断”之后预期 [error|warning|ignored]
原因是“#pragma GCC 诊断推送”,它在 4.6 版之前的 GCC 中不存在。
我无法更改代码(这不是我的)和 GCC 版本。如何禁用这些警告?一些 GCC 标志可能是?
PS:我在 GCC/C++ 中看到为什么“pragma GCC diagnostic push”弹出警告?,但我的问题没有答案。
GCC 有这两个标志来控制有关编译指示的警告:
-Wunknown-pragmas
当遇到 GCC 不理解的“#pragma”指令时发出警告。如果使用此命令行选项,甚至会针对系统头文件中的未知 pragma 发出警告。如果警告仅由-Wall命令行选项启用,则情况并非如此。-Wno-pragmas
不警告错误使用pragma,例如不正确的参数、无效的语法或pragma 之间的冲突。另请参见 -Wunknown-pragmas。
您可以使用 关闭它们-Wno-unknown-pragmas
。
这些似乎是您的选择: