我使用全新 Visual Studio 2013 Pro安装了全新 Windows 8.1 Pro x64。 尝试使用Platform Toolset将项目编译为 Windows7.1SDK 时,我正在
Error 1 error MSB6006: "CL.exe" exited with code -1073741515. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets 57 5 MenuBrowser
我尝试运行提供的“Windows SDK配置工具”,除了收到有关Visual Studio 2005和2008未安装的错误之外,我认为它确实发挥了作用。
我尝试手动编辑注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
我手动将CurrentInstallFolder
设为C:\Program Files\Microsoft SDKs\Windows\v7.1\
,将CurrentVersion
设为7.1.7600.0.30514
。如果我查看项目属性并单击其中的不同路径/变量 - >更多 - >宏,我可以看到$(WindowsSdkDir)是正确的。
知道我应该尝试什么吗?从未在使用Windows 7和VS 2012的旧开发计算机上遇到此问题。
L.E。作为一个注释,如果我使用v120工具尝试新项目,它可以工作,但我需要Windows7.1SDK工具。
答案 0 :(得分:11)
尝试使用Platform Toolset将项目编译为Windows7.1SDK ...
这不是VS2013“全新”安装中的有效选择。不太清楚你一直在做什么,它肯定不再“新鲜”了。将Regedit.exe视为一种加载武器,配置VS的注册表键集最近变得非常糟糕。
编译器与-1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUND崩溃。当然,这是一个非常严重的事故,当你定位SDK 7.1时它应该永远,因为它仍然使用相同的编译器,只有SDK目录被更改。编译器本身及其使用的DLL不是SDK的一部分,只有在机器没有安装VS时才提供。您可以使用SysInternals的进程监视器来诊断它,您将看到CL.EXE进程正在搜索DLL但未找到它。
目标7.1的正确方法是使用v120_xp工具集选择。这可以构建仍可在XP上运行的程序,它还会自动选择计算机上安装的7.1A SDK。请尝试撤消您所做的更改。
答案 1 :(得分:5)
引用Yodans解决方案 How to build with v90 platform toolset in VS2012 without VS2008, using Windows SDK?:
正如Hans Passant所指出的,cl.exe会查找mspdb100.dll(以及其他内容)并且找不到它们。 所需文件位于以下7.中提到的目录中:
我的工作设置:
我犯了一个错误:
答案 2 :(得分:0)
以下步骤在VS 2017中对我有用。
1。关闭VS 2017。 2.重启机器。 3.在VS 2017中打开解决方案。 4.构建项目。 这次我没有出现以下错误,并且可以成功构建。
错误msb6006“ link.exe”退出,代码为-1073741819。