fox*_*337 11 c++ windows winapi visual-studio-2012 visual-studio-2013
我有一个全新的 Windows 8.1 Pro x64安装与新的 Visual Studio 2013专业版.当我尝试使用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
Run Code Online (Sandbox Code Playgroud)
我尝试运行提供的"Windows SDK配置工具",除了得到关于Visual Studio 2005和2008未安装的错误之外,我认为它确实起了作用.
我尝试手动编辑注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
Run Code Online (Sandbox Code Playgroud)
在这里我手动把CurrentInstallFolder作为C:\Program Files\Microsoft SDKs\Windows\v7.1\和CurrentVersion作为7.1.7600.0.30514.如果我查看项目属性并单击其中的不同路径/变量 - >更多 - >宏,我可以看到$(WindowsSdkDir)是正确的.
知道我应该尝试什么吗?从未在使用Windows 7和VS 2012的旧开发计算机上遇到此问题.
LE作为注释,如果我使用v120工具尝试新项目,它可以工作,但我需要Windows7.1SDK工具.
Han*_*ant 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.请尝试撤消您所做的更改.
小智 5
使用Windows SDK参考如何使用VS2012中的v90平台工具集在没有VS2008的情况下构建 Yodans解决方案 ?:
正如Hans Passant所指出的,cl.exe会查找mspdb100.dll(以及其他内容)并且找不到它们.所需文件位于以下7.中提到的目录中:
我的工作设置:
我做的一个错误: