Ответ 1
Мое решение было:
- Откройте свойства проекта
- В Общие → Версия SDK
- Я выбрал версию 10.0.15063.0 вместо 8.1
И это сработало.
Hell'o Я только что установил Visual Studio 2017 (enterprise). Я открыл проект, созданный в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку. Как это исправить?
Мое решение было:
И это сработало.
Я решил эту проблему, перезапустив установщик Visual Studio и выбрав кнопку "Изменить". После отображения экрана Workloads я нажал на вкладку "Отдельные компоненты" и выбрал все последние флажки "Windows 10 SDK" (версия 10.0.15063.0). Я предполагаю, что запись для "Desktop С++ x86 и x64" - это тот, который фактически исправляет ее, но это только предположение, потому что ни один из этих параметров не был проверен при запуске установщика, и, как вы можете видеть, я проверил все из них.
Это происходит, когда вы настраиваете пути 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 → Дополнительные каталоги ссылок и компоновщик/Общие → Дополнительные библиотеки.
Если установка была в порядке, она должна быть здесь:
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>
Проблема возникает, когда вы переносите проект C++ из более обновленной версии Visual Studio в меньшую версию. Чтобы решить эту проблему, просто зайдите в: Project properties--> General → SDK Version [и здесь разверните, чтобы показать установленные версии SDK, поэтому вы переходите к доступной версии {Поскольку требуемая версия кажется недоступной, следовательно, ошибка}]. Как только один из доступных SDK выбран, примените и вернитесь к своему коду, и все будет исправлено.
Вам нужно установить установщик Visual Studio 2017, выбрать "Отдельные компоненты" и вручную выбрать и установить Windows 8.1 SDK.
Этот шаг работает для меня. 1. Откройте инсталлятор визуальной студии 2. в меню "Visual studio comunity 2017" → нажмите изменить 3. при разработке рабочего стола с помощью С++ → включить Windows10 SDK для рабочего стола и windows 8.1 SDK 4. нажмите изменить
Я также установил Visual Studio 2017 (сообщество) сначала с настройками композиции по умолчанию. Я открыл проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку и другие проблемы. Сначала я устанавливаю отсутствующие компоненты (SDK 10... и т.д.). Часть проблем ушла, но windows.h все равно не найден. Проблема была решена путем полной деинсталляции VS2017 и последующей установки со всеми параметрами сразу.
Моим решением была проверка путей.
Включить каталоги:
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!
Я исправил это, когда просто изменил "General => Windows SDK version" на другую версию, отправил изменения и затем изменил их обратно.