gcc如何抑制不兼容的指针类型警告?

Siv*_*mar 5 gcc warnings compiler-warnings

在我们的项目中,警告被视为错误。该规则从顶级 makefile 应用。

我想抑制第三方代码的警告。

将参数传递给函数调用时,我收到“不兼容的指针类型”警告。

我尝试了“-Wno-不兼容的指针类型”。但是,编译器不支持它。

我正在使用 gcc.c4.2.1-p4.ppc-linux。

有人可以告诉我如何抑制这个“不兼容的指针类型”警告吗?

Pau*_*sen 5

我检查了 GCC 的文档(https://gcc.gnu.org/onlinedocs/)。选项“-Wno-inknown-pointer-types”在最新的 GCC 4.x 版本中尚不可用,但从第一个 GCC 5.x 版本开始可用。

由于您使用的是 GCC 版本 4.2.1,因此您还不能使用选项“-Wno-inknown-pointer-types”。请迁移到 GCC 5.x 或更高版本。


Nik*_*uev 1

您不需要因为您无法控制某些第三方代码而抑制整个项目的所有不兼容指针类型警告。相反,请考虑抑制因处理此第三方代码而引起的所有警告,同时保留您自己的代码的所有警告。

您可以通过将第三方标头指定为“系统标头”来实现此目的。GCC 对此有一个选择。不要使用参数传递第三方标头-I,而是使用-isystem。系统标头被 GCC 特殊对待,并且不会为它们生成警告(不包括由 引起的警告#pragma warning)。