在GCC中抑制-Wunknown-pragmas警告

问题描述 投票:21回答:1

我试图忽略来自某些第三方头文件的警告,如下所示:

#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 warnings pragma suppress-warnings
1个回答
17
投票

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

有一个GCC功能请求使用#pragma GCC diagnostic来完成这项工作:

© www.soinside.com 2019 - 2024. All rights reserved.