我刚刚使用Windows 10安装了Visual Studio 2015。
我已经克隆了一个存储库,其中包含使用相同版本的Visual Studio(更新3)在另一台PC上创建的解决方案,总是使用Windows 10。
当我尝试在笔记本电脑上构建解决方案时,我收到以下错误:
obj-m := file.o
CROSS_COMPILE=arm-linux-
ARCH=arm
KERNELDIR=/lib/modules/2.6.32.2/build
PWD := $(shell pwd)
arm_modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD)/../include modules
echo "bulding module for arm architecture:"
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: clean
在this page我已经读过,我必须将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
所以似乎窗口版本不同。可能这是真的,因为在我的笔记本电脑上我没有安装1511 windows updgrade,而在另一台电脑上都安装正确。
我的问题是如何在不弄乱路径的情况下在两台电脑中引用C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
文件。我想避免硬连接这些路径,因为它们依赖于pc。而且我不明白为什么在我的笔记本电脑中路径是错误的,因为它应该是系统相关的而不是连接到解决方案。
我该如何解决这个问题?我知道我可以将我的笔记本电脑更新到相同的Windows版本,但出于很多原因我想避免使用它。
- 编辑
我注意到我有这条道路:
corecrt.h
它具有相同的C:\Program Files (x86)\Windows Kits\8.1\Include\10.0.10240.0\ucrt
版本但与另一个Windows工具包版本相关,因此在这种情况下可能存在一些问题。在我的笔记本电脑上我也是Visual Studio 2013,所以也许它可以来自它,但我无法删除它,因为我正在使用Visual Studio 2013维护另一个项目,我还无法删除它。
也许在Visual Studio 2015文件夹中,我可以在某些.bat文件(vcvarsall.bat或类似文件)中明确设置10.0.10240.0
,但我不知道哪个文件以及在哪个位置。
答案 0 :(得分:100)
对于Visual Studio 2017,我必须:
答案 1 :(得分:24)
你可能已经解决了这个问题,但如果其他人出现,我按照提示here解决了这个问题。
基本上设置以下系统环境变量:
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"
可能有一种更好的最佳实践方法,但是为了超级快速地修复它,这非常有用。
答案 2 :(得分:6)
我遇到了同样的问题。我在这里尝试了答案。它没有100%的工作。 我发现VC ++ 2015工具集(x86,x64)对于2017 Community Edition(我现在正在使用)是必需的,但是没有添加任何include或lib链接。
最好的问候。
答案 3 :(得分:5)
安装Visual Studio时可能会遗漏一些东西。 您可以检查是否忘记选择VC ++工具集。
答案 4 :(得分:5)
尝试检查项目属性(菜单项目>属性)。 在配置属性>下常规,然后检查平台工具集和Windows SDK版本(如果使用平台工具集> VS2015) 设置Platform Toolset = VS2017和Windows SDK Version = 10.x.x后,它对我有用。
答案 5 :(得分:1)
对我来说,在Visual Studio中帮助此设置:
答案 6 :(得分:1)
对于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.
答案 7 :(得分:1)
答案 8 :(得分:1)
您在项目中未安装的 Windows SDK 未安装。
要么安装所需的SDK,要么选择已安装的SDK之一(注意:选择 <从父级继承> 选项将默认为 8.1 ,但不会安装VS 2017+中的默认设置)
要安装Windows SDK,请运行安装程序并转到 单个组件 ,然后滚动到最底部:
答案 9 :(得分:0)
将较旧的Windows SDK(例如版本8.1 / Universal)添加到您的计算机(如parsley72所述)或re-target Project(s) to use one of the Windows SDK(s) installed on your computer。
我刚刚与VS2017碰面并重新定位工作。虽然我还在等待targeting a newer Windows SDK version has any ill effects的答案。
答案 10 :(得分:0)
我没有VC ++的经验,但我必须为python项目构建ta-lib。由于我不想在VC Studio中触摸任何东西,但我在Unix下经历过常规C编程,我采用了直接在Makefile中添加include路径的方法; e.g:
INCPATH = -I&#34; .......... \ include&#34; -I&#34; .......... \ SRC \ ta_common&#34; -I&#34; .......... \ SRC \ ta_abstract&#34; -I&#34; .......... \ SRC \ ta_abstract \表&#34; -I&#34; .......... \ SRC \ ta_abstract \帧&#34; -I&#34; C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.10150.0 \ ucrt&#34; -I&#34; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ include&#34;
子目录下有多个Makefile,所以我不得不对每个子目录进行更改,但它对我来说没问题。
答案 11 :(得分:0)
我在Windows上编译PyTorch并安装Windows Universal CRT SDK时没有解决此错误。摆弄一下之后,似乎有两个原因:
%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
答案 12 :(得分:0)
我将在接下来的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 :(得分:0)
重新安装Windows 10 sdk,如果您缺少Windows sdk或如果其内容更改,则会弹出此错误,这是我在安装wdk之后发生的