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

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

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

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

c:program files (x86)microsoft visual studio 14.0vcincludecrtdefs.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 KitsInclude.0.10240.0ucrt

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

C:Program Files (x86)Windows KitsInclude.0.10150.0ucrt

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

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

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

-- EDIT

я заметил, что у меня такой путь:

C:Program Files (x86)Windows Kits.1Include.0.10240.0ucrt

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

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

11 ответов


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

  1. Запустите Установщик Visual Studio.
  2. выберите кнопку Изменить.
  3. перейдите на вкладку "отдельные компоненты".
  4. прокрутите вниз до "компиляторы, инструменты сборки и среды выполнения".
  5. отметьте "Windows Universal CRT SDK".
  6. установить.

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

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

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

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


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

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


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


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

  1. Control Panel ->All Control Panel Items ->Programs and Features ->Visual studio 2015
  2. клик change/uninstall
  3. выбрать VC++2015 toolset(x86,x64) и установить.

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

`VC++ 2017 v141 toolset(x86,x64)


для меня помогает этот параметр в Visual Studio:

  • в свойствах проекта - > каталоги VC++ - > включить каталоги - > открыть для редактирования.
  • установите флажок наследовать от родителя или от значений по умолчанию для проекта

на Visual Studio 2015 Enterprise, Я решил проблему аналогичным образом, как петрушка72:

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 (ex. версия 8.1 / Universal) на вашу машину (как описано в parsley72), или повторно целевой проект(Ы), чтобы использовать один из Windows SDK(Ы), установленных на вашем компьютере.

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


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

INCPATH = - I"..........\включить" - I"..........\src\ta_common "- I"..........\src\ta_abstract "- I"..........\src\ta_abstract\таблицы "- I"..........\src\ta_abstract\frames" - I"C:\Program Файлы (x86)\комплектах Windows\10\включить\10.0.10150.0\ucrt" -я"C:\Program файлы (х86)\Майкрософт Visual студии\14.0 ВК\включать"

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


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

  1. убедитесь, что вы запустите файл vcvarsall.летучая мышь. Когда вы запускаете собственную командную строку VS2017 x64, она запускает этот файл bat.
  2. установите vcvars_ver для исправления версии, которая находится на вашем компьютере. Чтобы найти имеющуюся версию, перейдите в %PROGRAMFILES(X86)%\Microsoft Visual Studio17\Enterprise\VC\Tools\MSVC\. Внутри этой папки вы увидите папку, например 14.13.26128. Так вы установили vcvars_ver в 14.13.

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

set "VS150COMNTOOLS=%PROGRAMFILES(X86)%\Microsoft Visual Studio17\Enterprise\VC\Auxiliary\Build"
call "%VS150COMNTOOLS%\vcvarsall.bat" x64 -vcvars_ver=14.13

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

вы также можете загрузить и установить Window 10 sdk автономно,

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

надеюсь, что это помогает.