Visual Studio 2013:CL.exe 退出,代码为 -1073741515
我安装了 全新 Windows 8.1 Pro x64 和 全新 Visual Studio 2013 Pro.当尝试使用平台工具集编译项目到 Windows7.1SDK 时,我得到
I have a fresh Windows 8.1 Pro x64 install with a fresh Visual Studio 2013 Pro. When trying to compile a project with Platform Toolset to Windows7.1SDK I'm getting
Error 1 error MSB6006: "CL.exe" exited with code -1073741515. C:Program Files (x86)MSBuildMicrosoft.Cppv4.0PlatformsWin32Microsoft.Cpp.Win32.targets 57 5 MenuBrowser
我尝试运行提供的Windows SDK 配置工具",除了收到有关未安装 Visual Studio 2005 和 2008 的错误之外,我认为它完成了它的工作.
I tried running the supplied "Windows SDK Configuration Tool" and besides getting an error about Visual Studio 2005 and 2008 not being installed I think it did its job.
我尝试手动编辑注册表:
I tried manually editing the registry:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SDKsWindows
我手动将 CurrentInstallFolder
作为 C:Program FilesMicrosoft SDKsWindowsv7.1
和 CurrentVersion
作为 的位置>7.1.7600.0.30514
.如果我查看项目属性并单击其中的不同路径/变量 -> 更多 -> 宏,我可以看到 $(WindowsSdkDir) 是正确的.
where I manually put CurrentInstallFolder
as C:Program FilesMicrosoft SDKsWindowsv7.1
and CurrentVersion
as 7.1.7600.0.30514
. If I look at the project properties and click the different paths / variables in there -> more -> Macros, I can see that $(WindowsSdkDir) is correct.
知道我应该尝试什么吗?在装有 Windows 7 和 VS 2012 的旧开发计算机上从未遇到过此问题.
Any idea as to what I should try? Never ran into this problem on the old development computer with Windows 7 and VS 2012.
L.E.请注意,如果我使用 v120 工具尝试一个新项目,它可以工作,但我需要 Windows7.1SDK 工具.
L.E. as a note, if I try a new project with the v120 tools, it works, but I need the Windows7.1SDK tools.
推荐答案
尝试使用 Platform Toolset 将项目编译为 Windows7.1SDK 时...
When trying to compile a project with Platform Toolset to Windows7.1SDK...
在 VS2013 的全新"安装中,这不是有效的选择.不太清楚你一直在做什么,它肯定不再新鲜"了.请务必将 Regedit.exe 视为已加载的武器,配置 VS 的注册表项集最近变得非常复杂.
That's not a valid selection in a "fresh" install for VS2013. Not very clear what you've been doing, it certainly isn't "fresh" anymore. Do treat Regedit.exe as a loaded weapon, the registry key set that configures VS has been getting pretty doggone convoluted as of late.
编译器崩溃,出现 -1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUND.当然,这是一个非常严重的事故,当您面向 SDK 7.1 时,它应该永远发生,因为它仍然使用相同的编译器,只是 SDK 目录发生了变化.编译器本身以及它使用的 DLL 不是 SDK 的一部分,只有在机器没有安装 VS 时才提供.您可以使用 SysInternals 的 Process Monitor 对此进行诊断,您将看到 CL.EXE 进程正在搜索 DLL 而没有找到它.
The compiler crashes with -1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUND. That's a pretty serious mishap of course, it should never occur when you target SDK 7.1 since that still uses the same compiler, only the SDK directory is changed. The compiler itself, as well as the DLLs it uses, are not part of the SDK and only are provided if the machine doesn't have VS installed. You can use SysInternals' Process Monitor to diagnose this, you'll see the CL.EXE process searching for a DLL and not finding it.
面向 7.1 的正确方法是使用 v120_xp 工具集选择.它构建的程序仍然可以在 XP 上运行,它还会自动选择安装在您机器上的 7.1A SDK.请尝试撤消您所做的更改.
The correct way to target 7.1 is to use the v120_xp toolset selection. That builds programs that can still run on XP, it automatically also selects the 7.1A SDK that was installed on your machine. Do try to undo the changes you've made.
相关文章