30

我尝试忽略来自一些 3rd 方头文件的警告,如下所示:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic ignored "-Wreorder"

#include <some_3rd_party_header.h>

#pragma GCC diagnostic pop

这种方法似乎普遍有效,但不适用于未知的编译指示警告(我仍然得到它们)。

为什么它适用于其他警告但不适用于这个?任何人都可以确认这种行为吗?

我在 Debian 下-Wall使用g++(版本 4.7.1)。-std=c++0x

4

1 回答 1

28

我也遇到过这种烦恼。根据 GCC 手册页为您-Wall打开-Wunknown-pragmas,所以只需使用-Wno-unknown-pragmasafter手动禁用它-Wall

有一个 GCC 功能请求可以使用#pragma GCC diagnostic

于 2014-05-01T16:59:52.687 回答