Как отключить предупреждения для включаемых папок? - PullRequest
5 голосов
/ 01 марта 2011

Мне нужно использовать какую-то библиотеку, и у меня нет полномочий менять ее или заботиться о ней, EveryTime я собираю огромное количество всплывающих окон с предупреждениями. Бесполезные вещи типа

: предупреждение C4350: изменение поведения: 'std :: auto_ptr <_Ty> :: auto_ptr (std :: auto_ptr_ref <_Ty>) throw () 'вызывается вместо' std :: auto_ptr <_Ty> :: auto_ptr (std :: auto_ptr <_Ty> &) throw () '

Я хочу полностью отключить предупреждения для этой конкретной библиотеки. | Но все же хочу иметь предупреждения для моего собственного кода. Возможно ли это в Visual Studio 2010?

Ответы [ 2 ]

7 голосов
/ 01 марта 2011

# pragma warning - один из вариантов, хотя он, вероятно, возможен только в том случае, если вы используете предварительно скомпилированные заголовки или у вас очень мало исходных файлов в вашем собственном проекте.

#pragma warning (push)
#pragma warning (disable : 4350)
#include <third/party/headers/in/question.h>
#pragma warning (pop)
4 голосов
/ 01 марта 2011

Создайте свой собственный файл заголовка (например, «your_ABCD.h») с кодом ниже.

// In your_ABCD.h
#pragma once
#pragma warning (disable : 4350)
#include <their_ABCD.h>
#pragma warning (default : 4350)

Затем вы можете включить «your_ABCD.h» вместо «их_ABCD.h».

...