我试图忽略来自某些第三方头文件的警告,如下所示:
#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
这种方法似乎总体上起作用,但不适用于未知的pragma警告(我仍然得到它们)。
为什么它适用于其他警告但不适用于此警告?谁能证实这种行为?
我正在使用g ++(版本4.7.1)与Debian下的-Wall
和-std=c++0x
。
我也遇到了这种烦恼。根据GCC手册页-Wall
为你打开-Wunknown-pragmas
,所以只需在-Wno-unknown-pragmas
之后使用-Wall
手动禁用它。
有一个GCC功能请求使用#pragma GCC diagnostic
来完成这项工作: