Visual Studio 2017 не может найти windows.h

Hell'o Я только что установил Visual Studio 2017 (enterprise). Я открыл проект, созданный в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку. Как это исправить?

Ответы

Ответ 1

Мое решение было:

  • Откройте свойства проекта
  • В Общие Версия SDK
  • Я выбрал версию 10.0.15063.0 вместо 8.1

И это сработало.

Ответ 2

Я решил эту проблему, перезапустив установщик Visual Studio и выбрав кнопку "Изменить". После отображения экрана Workloads я нажал на вкладку "Отдельные компоненты" и выбрал все последние флажки "Windows 10 SDK" (версия 10.0.15063.0). Я предполагаю, что запись для "Desktop С++ x86 и x64" - это тот, который фактически исправляет ее, но это только предположение, потому что ни один из этих параметров не был проверен при запуске установщика, и, как вы можете видеть, я проверил все из них.

введите описание изображения здесь

Ответ 3

Это происходит, когда вы настраиваете пути include/library в устаревших проектах. Если вы добавили свои собственные дополнительные пути в свойства проекта, VisualStudio 2017 не сможет автоматически определять базовые пути при переключении между платформами/наборами инструментов - обычно он автоматически помещает туда правильные пути, но если вы добавите настройки, VS не коснется их.

Это законная проблема, с которой я столкнулся с собой недавно, когда переносил старый проект, предназначенный для Windows XP, в VS2017. Ни один из ответов или комментариев, перечисленных/связанных здесь до сих пор, не является полезным. У меня есть все устаревшие SDK в инсталляторе VisualStudio 2017, и ни один из этих фиксированных VS не находит существенных включений, таких как <windows.h>. В моем случае проект использовал набор инструментов v120 от VS2013, который заменяется v140_xp в новых VS.

После установки правильной платформы и набора инструментов, понятых VS2017, я решил сделать следующее:

  • Откройте свойства проекта, перейдите в VС++ Directories, для "Включить каталоги" и "Библиотечные каталоги", выберите <Inherit from parent or project defaults>. Это приведет к удалению дополнительных путей.

  • Нажмите "Применить". Это будет reset включать путь к чему-то вроде $(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) (будет варьироваться для SDK).

  • Повторно добавьте дополнительные пути сюда или еще лучше - в разделе C/С++/General → Дополнительные каталоги ссылок и компоновщик/Общие → Дополнительные библиотеки.

Ответ 4

Если установка была в порядке, она должна быть здесь:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um\Windows.h

Поэтому убедитесь, что он включен в путь включения свойств проекта.

Свойства проекта

Или, если вы предпочитаете ручное редактирование в файле .vcxproj в строке тега IncludePath:

<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>

Ответ 5

Проблема возникает, когда вы переносите проект C++ из более обновленной версии Visual Studio в меньшую версию. Чтобы решить эту проблему, просто зайдите в: Project properties--> General → SDK Version [и здесь разверните, чтобы показать установленные версии SDK, поэтому вы переходите к доступной версии {Поскольку требуемая версия кажется недоступной, следовательно, ошибка}]. Как только один из доступных SDK выбран, примените и вернитесь к своему коду, и все будет исправлено.

Ответ 6

Вам нужно установить установщик Visual Studio 2017, выбрать "Отдельные компоненты" и вручную выбрать и установить Windows 8.1 SDK.

Ответ 7

Этот шаг работает для меня. 1. Откройте инсталлятор визуальной студии 2. в меню "Visual studio comunity 2017" → нажмите изменить 3. при разработке рабочего стола с помощью С++ → включить Windows10 SDK для рабочего стола и windows 8.1 SDK 4. нажмите изменить

Ответ 8

Я также установил Visual Studio 2017 (сообщество) сначала с настройками композиции по умолчанию. Я открыл проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку и другие проблемы. Сначала я устанавливаю отсутствующие компоненты (SDK 10... и т.д.). Часть проблем ушла, но windows.h все равно не найден. Проблема была решена путем полной деинсталляции VS2017 и последующей установки со всеми параметрами сразу.

Ответ 9

Моим решением была проверка путей.

Включить каталоги:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)

Библиотечные каталоги:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64

и затем щелкните правой кнопкой мыши Solution Explorer: Solution 'xxxxx' (1 проект), нажмите "Retarget solution"

Не забудьте установить параметр отладки для выборки символов - Windows 10 должна использовать сервер символов Microsoft!

Ответ 10

Я исправил это, когда просто изменил "General => Windows SDK version" на другую версию, отправил изменения и затем изменил их обратно.