找不到 corecrt.h: $(UniversalCRT_IncludePath) 是错误的
Cannot find corecrt.h: $(UniversalCRT_IncludePath) is wrong
我刚刚在我的工作笔记本电脑上安装了 Visual Studio 2015 Windows 10.
我在另一台 PC 上克隆了一个存储库,其中包含使用相同版本的 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
在 this page 中,我读到必须将 $(UniversalCRT_IncludePath)
添加到我的包含路径,但即使在这种情况下,我也会遇到同样的错误。
我检查过 $(UniversalCRT_IncludePath)
指的是这个路径:
C:\Program Files (x86)\Windows Kits\Include.0.10240.0\ucrt
我的笔记本电脑上缺少此路径。相反,我有这个:
C:\Program Files (x86)\Windows Kits\Include.0.10150.0\ucrt
看来window版本不一样。可能这是真的,因为在我的笔记本电脑上我没有安装 1511 windows updgrade,而在另一台电脑上都安装正确。
我的问题是如何在不弄乱路径的情况下在两台电脑中引用 corecrt.h
文件。我想避免使用 hard-link 这些路径,因为它们依赖于 PC。而且我不明白为什么在我的笔记本电脑中路径是错误的,因为它应该是系统相关的而不是连接到解决方案。
我该如何解决这个问题?我知道我可以将我的笔记本电脑更新到相同的 windows 版本,但出于多种原因我想避免使用它。
-- 编辑
我注意到我有这条路:
C:\Program Files (x86)\Windows Kits.1\Include.0.10240.0\ucrt
它具有相同的 10.0.10240.0
版本,但与另一个 windows 套件版本相关,所以在这种情况下可能存在一些问题。在我的笔记本电脑上,我也有 Visual Studio 2013,所以也许它可能来自它,但我无法删除它,因为我正在使用 Visual Studio 2013 维护另一个项目,但我还不能删除它。
也许在 Visual Studio 2015 文件夹中我可以在某些 .bat 文件(vcvarsall.bat 或类似文件)中明确设置 $(UniversalCRT_IncludePath)
但我不知道哪个文件和哪个位置.
你可能已经解决了这个问题,但如果有人来了,我按照提示解决了这个问题 here。
基本设置如下系统环境变量:
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"
可能有更好的最佳实践方法,但是为了超快地修复它,这个方法非常有效。
可能在安装 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)
:
我遇到了同样的问题。我在这里尝试了答案。它没有 100% 有效。
我发现 VC++ 2015 工具集(x86、x64)对于 2017 社区版(我现在正在使用)是必需的,但没有添加任何包含或 lib 链接。
此致。
尝试检查项目属性(菜单项目 > 属性)。
在 Configuration Properties > General 下,然后检查 Platform Toolset 和 Windows SDK Version(如果使用 Platform Toolset > VS2015)
设置 Platform Toolset = VS2017 和 Windows SDK Version = 10.x.x 后它对我有用。
对我来说在 Visual Studio 中帮助此设置:
- 在项目属性 -> VC++ 目录 -> 包含目录 -> 打开以进行编辑。
- 选中从父项或项目默认值继承的复选框
对于 Visual Studio 2017 年,我必须:
- 运行 Visual Studio 安装程序。
- Select修改按钮。
- 转到 "Individual Components" 选项卡。
- 向下滚动到 "Compilers, build tools and runtimes"。
- 勾选"Windows Universal CRT SDK".
- 安装。
对于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 版/通用版)添加到您的机器(如 parsley72 所述),或者 re-target Project(s) to use one of the Windows SDK(s) installed on your computer.
我刚刚 运行 使用 VS2017 进行了此操作,并且重新定位成功了。虽然我还在等待是否 .
的答案
我没有使用 VC++ 的经验,但我必须为 python 项目构建 ta-lib。由于我不想接触 VC Studio 中的任何内容,但我有在 Unix 下进行常规 C 编程的经验,因此我采取了直接在 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\Include.0.10150.0\ucrt" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include"
sub-directories 下有多个 Makefile,所以我不得不对每个 Makefile 进行更改,但它对我来说没问题。
我刚刚在 Windows 上编译 PyTorch 并安装 Windows Universal CRT SDK 时遇到此错误并没有解决它。摆弄之后,似乎有两个原因:
- 确保你 运行 vcvarsall.bat。当您启动 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
的更新版本
也可以自主下载安装window10 sdk,
使用这个 link windows 10 sdk,并将其添加到您的系统路径中
hope it helps.
我通过接下来的 3 步解决了这个错误。
1) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\um\x86
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\ucrt\x86
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\lib\x86
2) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\ucrt\x64
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\lib\x64
3) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Include.0.17763.0\ucrt
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\include
然后我重建我的项目并且一切正常
您在项目中select编辑的Windows SDK未安装。
要么安装你想要的 SDK,要么 select 安装其中一个(注意:selecting 选项将默认为 8.1,在 VS 2017+ 中默认不安装)
要安装 Windows SDK,运行 安装程序并转到 单个组件 并滚动到最底部:
重新安装 windows 10 sdk ,如果你缺少 windows sdk 或者如果它的内容改变了这个错误将会弹出,我在安装 wdk
之后发生了
I find Reason that : Windows Registry
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots]
"KitsRoot10"="C:\Program Files\Windows Kits\10\"
but in Actually
"KitsRoot10"="C:\Program Files (x86)\Windows Kits\10\"
"AppVerifier64BitAutomationRoot"="C:\Program Files\Application Verifier\"
"KitsRoot81"="C:\Program Files (x86)\Windows Kits\8.1\"
参见:
我刚刚在我的工作笔记本电脑上安装了 Visual Studio 2015 Windows 10.
我在另一台 PC 上克隆了一个存储库,其中包含使用相同版本的 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
在 this page 中,我读到必须将 $(UniversalCRT_IncludePath)
添加到我的包含路径,但即使在这种情况下,我也会遇到同样的错误。
我检查过 $(UniversalCRT_IncludePath)
指的是这个路径:
C:\Program Files (x86)\Windows Kits\Include.0.10240.0\ucrt
我的笔记本电脑上缺少此路径。相反,我有这个:
C:\Program Files (x86)\Windows Kits\Include.0.10150.0\ucrt
看来window版本不一样。可能这是真的,因为在我的笔记本电脑上我没有安装 1511 windows updgrade,而在另一台电脑上都安装正确。
我的问题是如何在不弄乱路径的情况下在两台电脑中引用 corecrt.h
文件。我想避免使用 hard-link 这些路径,因为它们依赖于 PC。而且我不明白为什么在我的笔记本电脑中路径是错误的,因为它应该是系统相关的而不是连接到解决方案。
我该如何解决这个问题?我知道我可以将我的笔记本电脑更新到相同的 windows 版本,但出于多种原因我想避免使用它。
-- 编辑
我注意到我有这条路:
C:\Program Files (x86)\Windows Kits.1\Include.0.10240.0\ucrt
它具有相同的 10.0.10240.0
版本,但与另一个 windows 套件版本相关,所以在这种情况下可能存在一些问题。在我的笔记本电脑上,我也有 Visual Studio 2013,所以也许它可能来自它,但我无法删除它,因为我正在使用 Visual Studio 2013 维护另一个项目,但我还不能删除它。
也许在 Visual Studio 2015 文件夹中我可以在某些 .bat 文件(vcvarsall.bat 或类似文件)中明确设置 $(UniversalCRT_IncludePath)
但我不知道哪个文件和哪个位置.
你可能已经解决了这个问题,但如果有人来了,我按照提示解决了这个问题 here。
基本设置如下系统环境变量:
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"
可能有更好的最佳实践方法,但是为了超快地修复它,这个方法非常有效。
可能在安装 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)
:
我遇到了同样的问题。我在这里尝试了答案。它没有 100% 有效。 我发现 VC++ 2015 工具集(x86、x64)对于 2017 社区版(我现在正在使用)是必需的,但没有添加任何包含或 lib 链接。
此致。
尝试检查项目属性(菜单项目 > 属性)。 在 Configuration Properties > General 下,然后检查 Platform Toolset 和 Windows SDK Version(如果使用 Platform Toolset > VS2015) 设置 Platform Toolset = VS2017 和 Windows SDK Version = 10.x.x 后它对我有用。
对我来说在 Visual Studio 中帮助此设置:
- 在项目属性 -> VC++ 目录 -> 包含目录 -> 打开以进行编辑。
- 选中从父项或项目默认值继承的复选框
对于 Visual Studio 2017 年,我必须:
- 运行 Visual Studio 安装程序。
- Select修改按钮。
- 转到 "Individual Components" 选项卡。
- 向下滚动到 "Compilers, build tools and runtimes"。
- 勾选"Windows Universal CRT SDK".
- 安装。
对于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 版/通用版)添加到您的机器(如 parsley72 所述),或者 re-target Project(s) to use one of the Windows SDK(s) installed on your computer.
我刚刚 运行 使用 VS2017 进行了此操作,并且重新定位成功了。虽然我还在等待是否
我没有使用 VC++ 的经验,但我必须为 python 项目构建 ta-lib。由于我不想接触 VC Studio 中的任何内容,但我有在 Unix 下进行常规 C 编程的经验,因此我采取了直接在 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\Include.0.10150.0\ucrt" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include"
sub-directories 下有多个 Makefile,所以我不得不对每个 Makefile 进行更改,但它对我来说没问题。
我刚刚在 Windows 上编译 PyTorch 并安装 Windows Universal CRT SDK 时遇到此错误并没有解决它。摆弄之后,似乎有两个原因:
- 确保你 运行 vcvarsall.bat。当您启动 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
的更新版本也可以自主下载安装window10 sdk,
使用这个 link windows 10 sdk,并将其添加到您的系统路径中
hope it helps.
我通过接下来的 3 步解决了这个错误。
1) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\um\x86
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\ucrt\x86
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\lib\x86
2) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\Lib.0.17763.0\ucrt\x64
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\lib\x64
3) 所有文件来自:
C:\Program Files (x86)\Windows Kits\Include.0.17763.0\ucrt
复制到:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\VS\include
然后我重建我的项目并且一切正常
您在项目中select编辑的Windows SDK未安装。
要么安装你想要的 SDK,要么 select 安装其中一个(注意:selecting
要安装 Windows SDK,运行 安装程序并转到 单个组件 并滚动到最底部:
重新安装 windows 10 sdk ,如果你缺少 windows sdk 或者如果它的内容改变了这个错误将会弹出,我在安装 wdk
之后发生了I find Reason that : Windows Registry
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots]
"KitsRoot10"="C:\Program Files\Windows Kits\10\"
but in Actually
"KitsRoot10"="C:\Program Files (x86)\Windows Kits\10\"
"AppVerifier64BitAutomationRoot"="C:\Program Files\Application Verifier\"
"KitsRoot81"="C:\Program Files (x86)\Windows Kits\8.1\"
参见: