如何在Visual C ++中抑制外部标题中的警告

我正在开始一个新的BREW项目,并且希望使用Warning Level 4(/ W4)进行编译,以保持应用程序代码的清洁和干净。 问题是BREW头本身不能干净地用/ W4编译。

在gcc中,可以通过使用-I和-isystem区分应用程序和系统标头,然后默认gcc不会在系统标头中报告任何编译警告。 在Visual C ++中是否有等价的机制?

只能使用这个方法围绕一个你不能改变的标题块,但是你需要包含这个标题。

您可以select性地暂时禁用像这样的所有警告:

#pragma warning(push, 0) //Some includes with unfixable warnings #pragma warning(pop) 

您可以select传递警告号码来禁用,如下所示:

 #pragma warning( push ) #pragma warning( disable : 4081) #pragma warning( disable : 4706 ) // Some code #pragma warning( pop ) 

我不相信Visual C ++让你区分。 你可以使用#pragma warning来伪装:include:

 #pragma warning(push, 0) #include "mywarningheader.h" #pragma warning(pop) 
Interesting Posts