Каково лучшее решение для подавления предупреждения от MS include (C4201 в mmsystem.h) - PullRequest
1 голос
/ 12 ноября 2009

Мне надоело смотреть на предупреждения во время наших компиляций - предупреждения от MS включают файлы.

"C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \ mmsystem.h (1840): предупреждение C4201: использовано нестандартное расширение: безымянная структура / объединение"

Я видел этот поток , который предлагает изменить сам заголовок (но тогда каждый из моих товарищей по команде должен сделать это, и мы должны сделать это на сервере сборки - не говоря уже о том, что это великолепно HACK)

Есть ли лучший способ? Я не хочу отключать его глобально - просто чтобы отключить его для определенных файлов или каталогов.

Есть предложения?

EDIT По какой-то глупой причине я не думал, что смогу установить уровни предупреждений для включаемых файлов. Спасибо - это делает трюк.

Ответы [ 2 ]

10 голосов
/ 12 ноября 2009

Что-то вроде

#pragma warning(push, disable: 4201)
#include <mmsystem.h>
#pragma warning(pop)
4 голосов
/ 12 ноября 2009

Как насчет использования расширения предупреждения #pragma в VC ++?

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)
...