Ошибка в Visual Studio 2017 / Windows 2012 - MFC не поддерживает WINVER менее 0x0501 - PullRequest
0 голосов
/ 01 ноября 2018

Когда я пытаюсь скомпилировать мое приложение Visual Studio C ++ 2017, x86 на сервере Windows 2012, я получаю сообщение об ошибке ниже

Ошибка C1189 # ошибка: MFC не поддерживает WINVER менее 0x0501. Пожалуйста, измените определение WINVER в свойствах вашего проекта или предварительно скомпилированный заголовок. MyProject e: \ Program Files (x86) \ Microsoft Visual studio \ 2017 \ enterprise \ vc \ tools \ msvc \ 14.13.26128 \ atlmfc \ include \ afxv_w32.h 40

Я добавил приведенный ниже код в файл stadafx.h. Но это не решило проблему.

    #ifndef _WIN32_WINNT
    #define _WIN32_WINNT 0x601
    #endif

Как я могу убедиться, что мой код должен работать на всех операционных системах Windows, равных или выше, чем Windows 2012.

Project => Properties => C / C ++ => Значения предварительно скомпилированных заголовков пусты.

Тот же код работает, если я выбрал вариант сборки «Любой процессор». Пожалуйста, дайте мне знать правильную конфигурацию, Спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

Вы должны определить и _WIN32_WINNT, и WINVER.

См. https://msdn.microsoft.com/en-us/library/6sehtctf.aspx

Я обычно помещаю определение в часть определений препроцессора в свойствах проекта. Помещение их в stdafx.h должно работать, если все ваши файлы cpp включают это как первое включение в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...