Не удается найти corecrt.h: $(UniversalCRT_IncludePath) ошибочно
Я только что установил Visual Studio 2015 на своем рабочем ноутбуке с Windows 10.
Я клонировал репозиторий с решением, созданным с той же версией Visual Studio (обновление 3) на другом ПК, всегда с окнами 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
Так кажется, что версия окна отличается. Вероятно, это правда, потому что на моем ноутбуке я не установил 1511 windows updgrade, в то время как на другом ПК все установлено правильно.
Мой вопрос в том, как я могу ссылаться на файл corecrt.h
на обоих компьютерах, не создавая путаницы. Я хотел бы избегать жесткого связывания этого пути, потому что они зависят от ПК. и я не понимаю, почему в моем ноутбуке путь неправильный, учитывая, что он должен быть зависимым от системы и не подключен к сети.
Как я могу решить эту проблему? Я знаю, что я могу обновить свой ноутбук до той же версии Windows, но я бы хотел избежать этого по многим причинам.
- EDIT
Я заметил, что у меня есть этот путь:
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 или аналогичном), но я не знаю, какой файл и в какой позиции.
Ответы
Ответ 1
Для Visual Studio 2017 мне пришлось:
- Запустите установщик Visual Studio.
- Выберите кнопку "Изменить".
- Перейдите на вкладку "Отдельные компоненты".
- Прокрутите вниз до "Компиляторы, инструменты сборки и время автономной работы".
- Отметьте "Windows Universal CRT SDK".
- Установить.
Ответ 2
вы, вероятно, исправили это уже, но если кто-то еще приходит, я решил это, следуя подсказке здесь.
В основном заданы следующие переменные системной среды:
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"
Вероятно, есть намного лучший способ сделать это лучше всего, но для того, чтобы просто установить его очень быстро, это сработало отлично.
Ответ 3
Возможно, что-то не хватало при установке Visual Studio.
Вы можете проверить, не забыли ли вы выбрать набор инструментов VС++.
-
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)
:
![`VС++ 2017 v141 toolset (x86, x64)]()
Ответ 4
У меня была та же проблема. Я попробовал ответы здесь. Он не работал на 100%.
Я обнаружил, что набор инструментов VС++ 2015 (x86, x64) необходим для 2017 Community Edition (который я использую сейчас), но без добавления ссылок include или lib.
С уважением.
Ответ 5
Попробуйте проверить свойства проектов (Проект меню > Свойства).
В разделе "Свойства конфигурации" > "Общие" установите флажок Набор инструментов платформы и версия SDK Windows (при использовании набора инструментов платформы > VS2015)
После установки Platform Toolset = VS2017 и Windows SDK Version = 10.x.x это сработало для меня.
Ответ 6
Мне помогает этот параметр в Visual Studio:
- в свойствах проекта → Каталоги VС++ → Включить каталоги → открыть для редактирования.
- check checkbox Наследовать от родительских или по умолчанию проекта
Ответ 7
В 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.
Ответ 8
Либо добавьте более старый Windows SDK (например, версия 8.1/Universal) на свой компьютер (как описано в parsley72), либо перенастройте Project (s), чтобы использовать один из Windows SDK, установленных на вашем компьютере.
Я только столкнулся с этим с VS2017, и переориентация работала. Хотя я все еще жду ответа о том, имеет ли негативное влияние нацеливание на более новую версию Windows SDK.
Ответ 9
У меня нет опыта работы с 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 " [ CN00] "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 файлов, поэтому мне пришлось вносить изменения в каждый из них, но у меня все работает нормально.
Ответ 10
Я только что получил эту ошибку при компиляции PyTorch в Windows и установке Windows Universal CRT SDK, но это не помогло. Кажется, что после возни вокруг него есть две причины:
- Убедитесь, что вы запустили vcvarsall.bat. При запуске собственной командной строки VS2017 x64 он запускает этот bat файл.
- Установите для vcvars_ver правильную версию, которая установлена на вашем компьютере. Чтобы найти
%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\
версию, перейдите в %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
Ответ 11
Причиной ошибки может быть то, что у вас нет обновленной версии Windows 10 SDK
Вы также можете загрузить и установить Windows 10 SDK автономно,
используя эту ссылку Windows 10 SDK, и добавьте его в системный путь
Надеюсь, поможет.
Ответ 12
Я решаю эту ошибку следующим 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
Затем я перестраиваю свой проект и все работает правильно
Ответ 13
Windows SDK, который вы выбрали в своем проекте , не установлен.
![Visual Studio project setting windows SDK version 8.1]()
Либо установите нужный SDK, либо выберите один из установленных (примечание: при выборе опции <наследовать от родителя> по умолчанию будет 8.1, которая по умолчанию не устанавливается в VS 2017+)
Чтобы установить Windows SDK, запустите установщик и перейдите к Отдельным компонентам и прокрутите до самого низа:
![Visual Studio installer - individual components - windows 8.1 SDK]()