Предупреждение компилятора D_WIN32_WINNT с Boost - PullRequest
23 голосов
/ 08 июня 2010

Не уверен, что делать с этой ошибкой. * * * * * * * * * * * * * * * Добавляется -D_WIN32_WINNT=0x0501 в опциях «Командная строка» Visual Studio в разделе «Свойства проекта», но он говорит, что не распознает его, и предупреждение все равно появляется.

Я также не уверен, как добавить определение препроцессора.

1> Пожалуйста, укажите _WIN32_WINNT или _WIN32_WINDOWS соответственно. Например:
1> - добавить -D_WIN32_WINNT = 0x0501 в командную строку компилятора; или
1> - добавьте _WIN32_WINNT = 0x0501 к вашему Определения препроцессора проекта.

Ответы [ 5 ]

22 голосов
/ 18 сентября 2010

Я думаю, вы действительно близки к тому, чтобы заставить это работать.Джон Диблинг дал три способа сделать это, и похоже, что вы попробовали третье решение, которое заключалось в том, чтобы «войти в настройки вашего проекта ... и в Свойства конфигурации-> C / C ++ -> PreProcessor заголовок, добавьте ;_WIN32_WINNT = 0x0501 ".Вы ответили, что все еще получаете эту ошибку и предоставили содержимое настроек препроцессора, WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501.Я думаю, что вы можете решить эту проблему, если вы измените _WIN32_WINNT = 0x0501 на _WIN32_WINNT=0x0501.Когда я попробовал версию с пробелами, это не устранило ошибку, но удаление пробелов сделало.

13 голосов
/ 09 июня 2010

Несколько вариантов.

1) Если у вас есть основной заголовочный файл, например stdafx.h, вы можете добавить это:

#define _WIN32_WINNT 0x0501

Или вы можете добавить его где угодноit.

2) Вы можете добавить -D _WIN32_WINNT=0x0501 (обратите внимание на пробел)

3) Перейти к Свойства проекта> Свойства конфигурации> C / C ++> Proporcessor .Добавьте ;_WIN32_WINNT=0x0501 к Определения препроцессора .

Лично я выбрал # 3, потому что нет сомнений в том, что он определен в нужное время в нужных единицах перевода, и я бы предпочелвсе #defines в одном месте, а не в Препроцессор Определяет и другие на вкладке "Дополнительно".

12 голосов
/ 07 мая 2017

Добавьте следующую строку в ваш верхний исходный код.

#include <SDKDDKVer.h>
3 голосов
/ 08 июня 2010

Поставьте пробел после D

0 голосов
/ 26 июня 2017

Для блоков кода вот как вы это делаете.

Щелкните правой кнопкой мыши **Project Name** on your left >> Click 'Build Options' >> Select Debug or Release on your left >> Select 'Compiler Settings' Tab on the right >> Select #defines tab >> Затем добавьте следующую строку как есть:

_WIN32_WINNT=0x0501

>> Click Ok >> Close >> Right click **Project Name** again >> Re-build.
...