MSVC - 在标题中停止警告

时间:2010-11-27 15:26:05

标签: c++ visual-c++ warnings

我正在使用MSVC和一个CMaked项目。结果,我在MSVC上启用了许多为gcc和clang启用的标志。然而,/ Wall警告级别给了我一些痛苦;它警告我包含标题中的所有类型的东西,比如stdio.h和boost标题。有没有办法阻止MSVC警告我标题中的内容?我喜欢我的警告级别,但我只想让它为我启用。

3 个答案:

答案 0 :(得分:8)

/Wall 非常迂腐。 /W4可能就是你真正需要的。要回答您的问题,您可以使用以下标题禁用标题周围的特定警告:

 #pragma warning(disable:xxxx)
 #include <yourheader.h>
 #pragma warning(default:xxxx)

或者用以下方式更改警告级别:

 #pragma warning(push,3)
 #include <yourheader.h>
 #pragma warning(pop)

请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/2c8f766e.aspx

答案 1 :(得分:0)

Mark Tolonen已经指出/W4

如果仍然产生警告,例如您正在使用较旧的MSVC版本,如7.1,或者您正在使用某些第三方库仍然会产生关于完美代码的警告,并且您的目标是清理编译,然后查看我的{{ 3}}标题。

在comp.lang.c ++ Usenet小组中进行了几轮社区评论,但它可能/将需要更新,因为Microsoft在新的编译器版本中添加了更多愚蠢的警告......; - )

答案 2 :(得分:0)

您可以使用/wdXXXX标记禁用特定警告,其中XXXX是您要忽略的警告数。无需修改代码。