抑制MS警告的最佳解决方案包括(mmsystem.h中的C4201)

时间:2009-11-12 16:36:04

标签: c++ visual-studio warnings

我厌倦了在编辑过程中不得不查看警告 - 来自MS的警告包括文件。

“C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \ mmsystem.h(1840):警告C4201:使用非标准扩展名:无名结构/联合”

我已经看到this thread建议更改标题本身(但是我的每个队友必须这样做,我们必须在构建服务器上进行 - 更不用说它是一个光荣的HACK)< / p>

有更好的方法吗?我不想全局关闭它 - 只是为某些文件或目录禁止它。

有什么建议吗?

EDIT 出于某些愚蠢的原因,我不认为我可以在包含文件中设置警告级别。谢谢 - 这就是诀窍。

3 个答案:

答案 0 :(得分:10)

这样的东西
#pragma warning(push, disable: 4201)
#include <mmsystem.h>
#pragma warning(pop)

答案 1 :(得分:4)

如何在VC ++中使用#pragma warning extension?

http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx

#pragma warning (push, 2)  // Temporarily setting warning level 2
#include <mmsystem.h>
#pragma warning (pop)      // Restore back

您也可以尝试..

#pragma warning (disable: 4201)
#include <mmsystem.h>
#pragma warning (default)

答案 2 :(得分:0)

对于VS 2017社区,为了避免警告C4083,我使用:

#pragma warning(push)
#pragma warning(disable:4201)
#include <dxvahd.h>
#pragma warning(pop)