我尝试忽略来自某些第三方标题文件的警告:
#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警告(我仍然得到它们)。
为什么它适用于其他警告但不适用于此警告?任何人都可以证实这种行为吗?
我在Debian下使用带有-Wall
和-std=c++0x
的g ++(版本4.7.1)。
答案 0 :(得分:17)
我也遇到了这种烦恼。根据GCC联机帮助页-Wall
为您启用-Wunknown-pragmas
,因此只需在-Wno-unknown-pragmas
之后使用-Wall
手动停用它。
有一项GCC功能请求可以使用#pragma GCC diagnostic