Как отключить предупреждения во внешних заголовках в Visual C++

Я запускаю новый проект BREW, и я хотел бы скомпилировать с Предупреждением Уровня 4 (/w4) для хранения кода приложения хорошим и чистым. Проблема состоит в том, что сами заголовки BREW не компилируют чисто с/W4.

В gcc можно дифференцироваться между приложением и системными заголовками при помощи-I, и-isystem, и затем по умолчанию gcc не сообщает ни о каких предупреждениях компиляции в системных заголовках. В Visual C++ существует ли эквивалентный механизм?

54
задан Prof. Falken 8 September 2014 в 21:29
поделиться

2 ответа

Используйте этот метод только для блока заголовков, который нельзя изменить, но который необходимо включить.

Вы можете выборочно и временно отключить все предупреждения следующим образом:

#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 ) 
81
ответ дан 7 November 2019 в 07:59
поделиться

Я не верю, что Visual C ++ позволяет различать. Вы можете подделать это, используя #pragma warning вокруг include:

#pragma warning(push, 0)
#include "mywarningheader.h"
#pragma warning(pop)
4
ответ дан 7 November 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: