Привет
Я только что установил Visual Studio 2017 (предприятие). Я открыл свой проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку. Как это починить?
Мое решение было:
И это сработало.
Я решил эту проблему, перезапустив установщик Visual Studio и нажав кнопку «Изменить». После того, как на экране появилось окно «Рабочие нагрузки», я щелкнул вкладку «Отдельные компоненты» и установил все последние флажки «Windows 10 SDK» (версия 10.0.15063.0). Я предполагаю, что запись для «Desktop C ++ x86 и x64» является той, которая действительно исправляет ее, но это всего лишь предположение, потому что ни одна из этих опций не была проверена, когда я запустил установщик, и, как вы можете видеть, я проверил все из них.
Это происходит, когда вы настраиваете пути include / library в устаревших проектах. Если вы добавили свои собственные дополнительные пути в свойствах проекта, VisualStudio 2017 не сможет автоматически определить базовые пути при переключении между платформами / наборами инструментов — обычно он автоматически помещает туда правильные пути, но если вы добавили настройки, VS не будет их трогать.
Это законная проблема, с которой я столкнулся недавно при переносе старого проекта, ориентированного на Windows XP, в VS2017. Ни один из ответов или комментариев, перечисленных / связанных здесь, пока не является полезным. У меня есть все устаревшие SDK в установщике VisualStudio 2017, и ни один из этих исправленных VS не нашел необходимых включений, таких как <windows.h>
, В моем случае в проекте использовался набор инструментов v120 из VS2013, который заменен v140_xp в более новой VS.
После установки правильной платформы и набора инструментов, понятных VS2017, я сделал следующее, чтобы решить проблему:
Откройте свойства проекта, перейдите в каталоги VC ++, выберите «Включить каталоги» и «Библиотечные каталоги», выберите <Inherit from parent or project defaults>
, Это удалит ваши дополнительные пути.
Нажмите «Применить». Это сбросит путь включения к чему-то вроде $(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)
(будет отличаться для SDK).
Добавьте сюда дополнительные пути, или еще лучше — в C / C ++ / General -> Дополнительные каталоги включения и Linker / 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>
Вам нужно зайти в установщик Visual Studio 2017, выбрать отдельные компоненты, а затем вручную выбрать и установить Windows 8.1 SDK.
Этот шаг работает для меня.
1. Откройте установщик Visual Studio
2. в меню «Visual studio comunity 2017» -> нажмите изменить
3. при разработке рабочего стола с c ++ -> включить Windows10 SDK для рабочего стола и Windows 8.1 SDK
4. нажмите изменить
Я также сначала установил Visual Studio 2017 (сообщество) с настройками композиции по умолчанию. Я открыл свой проект, который я создал в Visual Studio 2015. Мой проект использует библиотеку windows.h, но VS2017 не может найти эту библиотеку и другие проблемы. Сначала я устанавливаю недостающие (SDK 10 … и т. Д.) Компоненты. Часть проблем исчезла, но windows.h до сих пор не найден. Проблема была решена путем полной деинсталляции VS2017 и последующей установки сразу со всеми опциями.