MSVC - остановить предупреждения в заголовках - PullRequest
7 голосов
/ 27 ноября 2010

Я использую MSVC с проектом CMaked. В результате я включил многие флаги на MSVC, которые были включены для gcc и clang. Тем не менее, уровень предупреждения / Стена причиняет мне боль; он предупреждает меня обо всех видах включенных заголовков, таких как stdio.h и boost заголовки. Есть ли способ, чтобы MSVC не предупреждал меня о вещах в заголовках? Мне нравятся мои уровни предупреждений, но я хочу, чтобы они были включены только для меня.

Ответы [ 3 ]

8 голосов
/ 27 ноября 2010

/Wall это очень педантичный./W4 это, вероятно, все, что вам действительно нужно.Чтобы ответить на ваш вопрос, вы можете отключить определенные предупреждения для заголовков с помощью:

 #pragma warning(disable:xxxx)
 #include <yourheader.h>
 #pragma warning(default:xxxx)

или изменить уровень предупреждения с помощью:

 #pragma warning(push,3)
 #include <yourheader.h>
 #pragma warning(pop)

См. Документацию MSDN: http://msdn.microsoft.com/en-us/library/2c8f766e.aspx

0 голосов
/ 06 февраля 2013

Вы можете отключить определенные предупреждения, используя флаг /wdXXXX, где XXXX - это количество предупреждений, которые вы хотите игнорировать. Нет необходимости изменять код.

0 голосов
/ 27 ноября 2010

Марк Толонен уже указал /W4.

Если это все еще вызывает предупреждения, например, вы используете более старую версию MSVC, такую ​​как 7.1, или используете стороннюю библиотеку, которая по-прежнему выдает предупреждения о совершенно хорошем коде, и вы стремитесь к чистым компиляциям , затем посмотрите мой msvc подавление глупого предупреждения header.

Это было через несколько раундов обзора сообщества, в группе Usenet comp.lang.c ++, но может потребоваться / потребуется обновление, так как Microsoft добавляет еще больше глупых предупреждений в новых версиях компилятора & hellip; ; -)

...