我刚刚在使用Windows 10的工作笔记本电脑上安装了Visual Studio 2015.
我已经克隆了一个存储库,其中包含使用相同版本的Visual Studio(更新3)在另一台PC上创建的解决方案,始终使用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
Run Code Online (Sandbox Code Playgroud)
在这个页面中,我已经读过我必须添加$(UniversalCRT_IncludePath)到我的包含路径,但即使在这种情况下,我也会获得相同的错误.
我已经检查并$(UniversalCRT_IncludePath)引用了这条路径:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
Run Code Online (Sandbox Code Playgroud)
笔记本电脑上缺少此路径.相反,我有这个:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
Run Code Online (Sandbox Code Playgroud)
所以看起来窗口版本是不同的.可能这是真的,因为在我的笔记本电脑上我没有安装1511 windows升级,而在另一台电脑上都安装正确.
我的问题是如何corecrt.h在不弄乱路径的情况下在两个pc中引用文件.我想避免硬连接这些路径,因为它们依赖于pc.而且我不明白为什么在我的笔记本电脑中路径是错误的,因为它应该是系统相关的而不是连接到解决方案中.
我该如何解决这个问题?我知道我可以将我的笔记本电脑更新到相同的Windows版本,但我想避免它出于很多原因.
- 编辑
我注意到我有这条道路:
C:\Program Files (x86)\Windows Kits\8.1\Include\10.0.10240.0\ucrt
Run Code Online (Sandbox Code Playgroud)
它具有相同的10.0.10240.0版本,但与另一个Windows工具包版本相关,所以在这种情况下可能存在一些问题.在我的笔记本电脑上我也是Visual Studio 2013,所以也许它可以来自它,但我无法删除它,因为我正在使用Visual Studio 2013维护另一个项目,我还无法删除它.
也许在Visual Studio 2015文件夹中我可以$(UniversalCRT_IncludePath)在一些.bat文件中明确设置(vcvarsall.bat或类似),但我不知道哪个文件和位置.
所以我最近使用.NET 4.5(Visual Studio 2012专业版)返回到VC++,因为在与web dev,python和c#一起度过了永恒之后,新PC上出现了各种不相关的原因.我对整个语言非常熟悉,它在语法方面非常漂亮,我喜欢内存管理的自由,指针和引用.我用"你好世界"的东西和BAM重新开始了!错误.
由于许多其他人都遇到了这个问题,我在尝试编译和运行时收到了IntelliSense错误:
cannot open source file "SDKDDKVer.h"" and the fatal error: "error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory
我也安装了Visual Studio 2010(C#Express),也许这搞砸了我的一些东西.我已经确认我的包含和lib的VC++目录都是正确的,并且是Microsoft和几乎任何C++开发人员推荐的.我试图安装最新的WinSDK(8.1)来获取标题及其所有功能,但我大约110%确定它不在那里.我现在正在为Win7安装SDK,希望它可以驻留在那里(虽然它确实需要很长时间.)
我的电脑有终端蓝屏的问题,仅针对任何问题,只需将机器单独放置15分钟即可解决,所以可能是硬盘问题?
你们有人可以帮忙吗?绝对任何抬头,居高临下,明显与否都将受到赞赏,并且无论如何都要感谢阅读.
编辑:@MichaelBurr要求构建日志,我无法将其全部发布在底部,所以我想我会在这里添加它.
Build started 14/03/2014 00:34:11.
1>Project "c:\Users\Brandon\documents\visual studio 2012\Projects\ConsoleApplication4\ConsoleApplication4\ConsoleApplication4.vcxproj" on node 2 (Build target(s)).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(344,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /ZI /nologo …Run Code Online (Sandbox Code Playgroud) 我在 C++ 构建中收到臭名昭著的错误消息:“无法打开包含文件:'ctype.h'”。我知道类似的问题已经被问过多次,但我的情况似乎有所不同,因为我使用的是最新的 Visual Studio 2022 并且似乎表现不同。
我有一堆现有的 C++ 项目,它们使用带有 DirectX 6 的普通 32 位 Windows API,并且我使用 VC++ 构建工具 2015 和 Windows SDK 8.1 来编译它,在以前版本的 Visual Studio 中没有任何问题。Visual Studio 2019 中一切正常,不需要特殊设置,直到我卸载它并安装 Visual Studio 2022。
现在我可以打开我的解决方案,它很好地显示它们正在使用 C++ 构建工具 2015,我将其与 VS2022 一起安装,并且解决方案还正确显示它们使用 Windows 8.1 SDK。但是VS2022安装中不存在Windows 8.1 SDK,我单独安装了它。我还尝试“修复”VS2022 安装,但这只是删除了我所有的 UI 首选项,但没有修复 build.gradle 中的任何内容。另外,我尝试重新安装Windows 8.1 SDK,但它说已经可以了。
当查看 Visual Studio 时,我看不到任何可以设置默认包含和 lib 目录的地方,我只能列出现在正在使用的内容。VS2022 显示了这个列表:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include
C:\Program Files\Windows Kits\10\Include\10.0.10240.0\ucrt
C:\Program Files (x86)\Windows Kits\8.1\Include\um
C:\Program Files …Run Code Online (Sandbox Code Playgroud)