_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
Эта ошибка продолжает появляться во время моей компиляции. Кажется, это не влияет на компиляцию, но как я могу избавиться от нее? Я что-то рискую, игнорируя его?
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
Эта ошибка продолжает появляться во время моей компиляции. Кажется, это не влияет на компиляцию, но как я могу избавиться от нее? Я что-то рискую, игнорируя его?
Он определен для вас через WinSDKVer.h. Поэтому просто определите его явно в верхней части исходного кода (например, в начале stdafx.h), и вы избавитесь от предупреждения.
При определении того же значения (по сравнению с _WIN32_WINNT_MAXVER
от WinSDKVer.h) вряд ли что-то сломает.
Например, WinSDKVer.h пакета разработки программного обеспечения Windows® (SDK) для Windows 7 и .NET Framework 3.5 с пакетом обновления 1 содержит:
// This list contains the highest version constants supported by content
// in the Windows SDK.
// [...]
#define _WIN32_WINNT_MAXVER 0x0601
Установите его в самую старую операционную систему Windows, в которой вы хотите, чтобы ваша программа работала. Возможные значения приведены в этой статье MSDN, Использование заголовков Windows.
Вы можете определить эти символы, используя оператор
#define
в каждом исходного файла или путем указания опции компилятора/D
, поддерживаемой Visual С++.Например, чтобы установить
WINVER
в исходный файл, используйте следующее утверждение:#define WINVER 0x0502 // Windows Server 2003 with SP1, Windows XP with SP2
Чтобы установить
_WIN32_WINNT
в исходный файл, используйте следующий оператор:#define _WIN32_WINNT 0x0502 // Windows Server 2003 with SP1, Windows XP with SP2
Чтобы установить
_WIN32_WINNT
с помощью параметра/D
компилятора, используйте следующую команду:cl -c /D_WIN32_WINNT=0x0502 source.cpp
Примечание: #define _WIN32_WINNT
должен иметь перед любой заголовочный файл, включая "stdafx.h".
Способы решения этой проблемы и ссылку на возможные значения можно найти здесь, в супер ответе пользователя 93353, который я использовал для решения проблемы.
Однако после прочтения решения я установил опцию компилятора в своей среде IDE, которая называется Visual Studio 2019.
Для тех, кто хочет установить его там быстро и хочет знать его местоположение (поскольку эти вещи меняются от выпуска IDE к выпуску, или, может быть, кто-то более знаком с другой IDE), вот куда это пошло.
Свойства конфигурации
С /C++
препроцессор
Определения препроцессора
_WIN32_WINNT = 0x0502