如何关闭-Werror for a specific header file

问题描述 投票:0回答:0

我的项目使用

-Werror
将 GCC 11.3.0 g++ 警告转换为错误并停止构建。但是我们需要包含的第三方头文件会导致编译器发出一堆警告。

我希望有一种方法可以关闭那个 1 include 文件的

-Werror
。也许
#pragma
我可以在调用该头文件之前和之后发出?

然而,似乎并非如此。我能找到的最好的方法是使用

#pragma GCC diagnostic ...
禁用单个警告,这将使我列出该头文件导致的所有警告。

真的是这样还是我错过了一些明显的东西?


编辑:

事实证明,一些警告/错误可以被禁用,但其他的则不能。例如,这可以删除已签名/未签名的警告:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wsign-compare"
#include <problematic_include.hpp>
#pragma GCC diagnostic pop

但这不起作用:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#include <problematic_include.hpp>
#pragma GCC diagnostic pop

...删除有关

error: ignoring ‘#pragma _CVUI_COMPILE_MESSAGE ’ [-Werror=unknown-pragmas]
.

的错误
linux compiler-errors g++ warnings
© www.soinside.com 2019 - 2024. All rights reserved.