Не удается найти corecrt.h: $ (UniversalCRT_IncludePath) неверно

Я только что установил Visual Studio 2015 на свой рабочий ноутбук с Windows 10.

Я клонировал репозиторий с решением, созданным с той же версией Visual Studio (обновление 3) на другом ПК, всегда с Windows 10.

Когда я пытаюсь построить решение на своем ноутбуке, я получаю следующую ошибку:

c:\program files (x86)\microsoft visual studio 14.0\vc\include\crtdefs.h(10): fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory

Вэта страница Я прочитал, что я должен добавить$(UniversalCRT_IncludePath) к моим путям включения, но даже в этом случае я получаю ту же ошибку.

Я проверил и$(UniversalCRT_IncludePath) относится к этому пути:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt

Этот путь отсутствует на моем ноутбуке. Вместо этого у меня есть этот:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt

Таким образом, кажется, что версия окна отличается. Вероятно, это правда, потому что на моем ноутбуке я не установил обновление Windows 1511, в то время как на другом компьютере все установлено правильно.

Мой вопрос, как я могу обратиться кcorecrt.h файл в обоих компьютерах без путаницы с путями. Я хотел бы избежать жесткой связи этих путей, потому что они зависят от компьютера. и я не понимаю, почему в моем ноутбуке путь неправильный, учитывая, что он должен зависеть от системы, а не быть привязанным к решению.

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

-- РЕДАКТИРОВАТЬ

Я заметил, что у меня есть этот путь:

C:\Program Files (x86)\Windows Kits\8.1\Include\10.0.10240.0\ucrt

Имеет то же самое10.0.10240.0 версия, но относится к другой версии комплекта Windows, так что, возможно, есть некоторые проблемы в этом случае. На моем ноутбуке у меня также Visual Studio 2013, так что, возможно, он может быть получен из этого, но я не могу удалить его, потому что я поддерживаю другой проект с Visual Studio 2013 и пока не могу удалить его.

Может быть, в папке Visual Studio 2015 я могу явно установить$(UniversalCRT_IncludePath) в каком-то файле .bat (vcvarsall.bat или similiar), но я не знаю, какой файл и в какой позиции.

Ответы на вопрос(13)

Я решаю эту ошибку следующим 3 шагом.

1) Все файлы из:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86

Скопировать в:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x86

2) Все файлы из:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64

Скопировать в:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x64

3) Все файлы из:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt

Скопировать в:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\include

Затем я перестраиваю свой проект и все работает правильно

Попробуйте проверить свойства проектов (Меню Проект> Свойства). Под Свойства конфигурации> Общие, затем проверьтеНабор инструментов платформы и Windows SDK Version (если используется Platform Toolset> VS2015). После установки Platform Toolset = VS2017 и Windows SDK Version = 10.x.x это сработало для меня.

У меня нет опыта работы с VC ++, но я должен собрать ta-lib для проекта на Python. Так как я не хочу ничего касаться в VC Studio, но у меня есть опыт работы с обычным программированием на C под Unix, я решил добавить путь включения непосредственно в Makefile; например.:

INCPATH = -I ".......... \ include" -I ".......... \ src \ ta_common" -I ".......... \ src \ ta_abstract "-I" .......... \ src \ ta_abstract \ tables "-I" .......... \ src \ ta_abstract \ frames "-I "C: \ Program Files (x86) \ Windows Kits \ 10 \ Include \ 10.0.10150.0 \ ucrt" -I "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include"

В подкаталогах есть несколько Make-файлов, поэтому мне приходилось вносить изменения в каждый из них, но у меня все работает нормально.

Причиной ошибки может быть то, что у вас нет обновленной версии Windows 10 SDK

Вы также можете загрузить и установить Windows 10 SDK автономно,

используя эту ссылкуWindows 10 SDKи добавьте его в системный путь

Надеюсь, поможет.

Мне помогает этот параметр в Visual Studio:

в свойствах проекта -> Каталоги VC ++ -> Включить каталоги -> открыть для редактирования.check checkbox Наследовать от родительского или проекта по умолчанию

У меня такая же проблема. Я попробовал ответы здесь. Это не сработало на 100%. Я обнаружил, что набор инструментов VC ++ 2015 (x86, x64) необходим для версии Community Edition 2017 (которую я сейчас использую), но без добавления ссылок include или lib.

С наилучшими пожеланиями.

Решение Вопроса

Для Visual Studio 2017 мне пришлось:

Запустите установщик Visual Studio.Выберите кнопку Изменить.Перейдите на вкладку «Отдельные компоненты».Прокрутите вниз до «Компиляторы, инструменты сборки и среды выполнения».Галочка "Windows Universal CRT SDK".Установить.
 Patapoom07 авг. 2017 г., 10:33
Решение parsley72 также работает с выпуском сообщества Visual Studio 2017. Поэтому я думаю, что оно необходимо для всех версий. Кстати, CRT означаетC RООНTIME.
 ThatsRightJack20 сент. 2017 г., 06:24
В чем разница между «Windows Universal CRT SDK» (пункт 5 выше) и «Windows Universal C Runtime», перечисленными в отдельных компонентах «SDK, библиотеки и инфраструктуры»?
 Janac Meena07 июл. 2017 г., 16:56
Если вы удалили установочный файл, просто перейдите в «Установка и удаление программ»> Щелкните правой кнопкой мыши Microsoft Visual Studio> «Изменить».
 TravisWhidden01 июн. 2017 г., 19:10
Подтверждено это исправлено и был лучшим с 2017 Enterprise.

ЗаVisual Studio 2015 EnterpriseЯ решил проблему аналогично parsley72:

1. Run the Visual Studio Installer;
2. Select Modify button;
3. Go to "Windows and Web Development";
4. Tick "Universal Windows App Development Tools";
5. Install.

Либо добавьте более старый Windows SDK (например, версия 8.1 / Universal) на свой компьютер (как описано в parsley72), либопереориентируйте Project (s) на использование одного из Windows SDK, установленных на вашем компьютере.

Я только столкнулся с этим с VS2017, и переориентация работала. Хотя я все еще жду ответа на вопроснацеливание на более новую версию Windows SDK имеет негативные последствия.

Возможно, при установке Visual Studio чего-то не хватало. Вы можете проверить, не забыли ли вы выбрать набор инструментов VC ++.

Control Panel ->All Control Panel Items ->Programs and Features ->Visual studio 2015Нажмитеchange/uninstallВыбратьVC++2015 toolset(x86,x64) и установить.

Для Visual Studio Community 2017 RC (15.0.26206.0) название дополнительного инструментаVC++ 2017 v141 toolset(x86,x64):

 simondoo17 февр. 2017 г., 18:02
Не забудьте подключить компьютер к сети

Windows SDK вы выбрали в своем проектене установлен.

Установите нужный SDK или выберите один из установленных (примечание: выбор<наследовать от родителя> опция по умолчанию будет8,1, который не установлен по умолчанию в VS 2017+)

Чтобы установить Windows SDK, запустите установщик и перейдите кОтдельные компоненты и прокрутите до самого низа:

Вы, вероятно, уже исправили это, но если кто-то еще приходит, я решил это, следуя советуВот.

В основном установите следующие системные переменные среды:

INCLUDE="C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt"
LIB="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64"

Вероятно, есть лучший способ сделать это наилучшим образом, но если просто исправить это очень быстро, это отлично сработало.

Я только что получил эту ошибку при компиляции PyTorch в Windows и установке Windows Universal CRT SDK, но это не помогло. Кажется, что после возни вокруг него есть две причины:

Убедитесь, что вы запускаете vcvarsall.bat. Когда вы запускаете VS2017 x64 Native Command Prompt, он запускает этот bat-файл.Установите для vcvars_ver правильную версию, которая установлена ​​на вашем компьютере. Чтобы найти версию, которую вы имеете, перейдите на%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\, Внутри этой папки вы увидите папку, такую ​​как14.13.26128, Итак, вы установилиvcvars_ver до 14,13.

Ниже фрагмент в моем командном файле показывает выше два шага:

set "VS150COMNTOOLS=%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build"
call "%VS150COMNTOOLS%\vcvarsall.bat" x64 -vcvars_ver=14.13
 Dang Manh Truong01 июл. 2019 г., 17:34
Большое спасибо! Это ответ, который спас мой день! На самом деле я получил ошибку, связанную с установкой пакетов Python через Pip, и ошибка в том, что файл "vcruntime.h" не найден. Я попробовал несколько решений выше, но это то, что сработало для меня!

Ваш ответ на вопрос