Я запускаю новый проект BREW, и я хотел бы скомпилировать с Предупреждением Уровня 4 (/w4) для хранения кода приложения хорошим и чистым. Проблема состоит в том, что сами заголовки BREW не компилируют чисто с/W4.
В gcc можно дифференцироваться между приложением и системными заголовками при помощи-I, и-isystem, и затем по умолчанию gcc не сообщает ни о каких предупреждениях компиляции в системных заголовках. В Visual C++ существует ли эквивалентный механизм?
Используйте этот метод только для блока заголовков, который нельзя изменить, но который необходимо включить.
Вы можете выборочно и временно отключить все предупреждения следующим образом:
#pragma warning(push, 0)
//Some includes with unfixable warnings
#pragma warning(pop)
При желании вместо 0 вы можете передать номер предупреждения для отключения, например:
#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)