Не удается найти 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 мне пришлось:
- Запустите Установщик Visual Studio.
- выберите кнопку Изменить.
- перейдите на вкладку "отдельные компоненты".
- прокрутите вниз до "компиляторы, инструменты сборки и среды выполнения".
- отметьте "Windows Universal CRT SDK".
- установить.
вы, вероятно, уже исправили это, но если кто-то еще придет, я решил это, следуя подсказке здесь.
в основном установите следующие системные переменные среды:
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++.
-
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)
:
для меня помогает этот параметр в 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 не разрешил ее. После возни вокруг кажется, что есть две причины:
- убедитесь, что вы запустите файл vcvarsall.летучая мышь. Когда вы запускаете собственную командную строку VS2017 x64, она запускает этот файл bat.
- установите 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, и добавьте его в свой системный путь
надеюсь, что это помогает.