Visual Studio 2013:CL.exe退出,代码为-1073741515

时间:2014-02-26 10:32:58

标签: c++ windows winapi visual-studio-2012 visual-studio-2013

我使用全新 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工具。

3 个答案:

答案 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.中提到的目录中:

我的工作设置:

  1. VS2013需要使用VS2010库
  2. 在VS2013中使用WinSDK 7.1构建工具(v100)
  3. 清理安装,卸载sdk发行说明中提到的所有内容(可以在类别详细信息下的http://www.microsoft.com/en-us/download/details.aspx?id=8279下载)
    1. 适用于Windows 7的Microsoft Windows SDK(7.1)(Windows SDK核心组件文件)
    2. 应用程序验证程序
    3. Windows调试工具
    4. Windows性能工具包
    5. Microsoft Help Viewer 1.0
    6. Microsoft Visual C ++ 2010 Redistributable
    7. Microsoft Visual C ++ 2010标准版
    8. 另外删除了所有与.NET和VC ++相关的MS软件(必要时未经过测试)
  4. 在VS2013中选择Windows7.1SDK作为平台工具集
  5. 错误MSB6006:“CL.exe”已退出,代码为-1073741515
  6. cl.exe查找msobj100.dll,mspdb100.dll,mspdbcore.dll和mspdbsrv.exe之一
  7. 已添加到路径:C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE
  8. 构建作品和二进制文件可用!
  9. 我犯了一个错误:

    1. 将上面6.中的文件复制到C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin,认为这个目录是在PATH中,但事实并非如此!
    2. 如上所述,或者Yodan在How to build with v90 platform toolset in VS2012 without VS2008, using Windows SDK?
    3. 中做得更好

答案 2 :(得分:0)

以下步骤在VS 2017中对我有用。

1。关闭VS 2017。 2.重启机器。 3.在VS 2017中打开解决方案。 4.构建项目。 这次我没有出现以下错误,并且可以成功构建。

错误msb6006“ link.exe”退出,代码为-1073741819。