【问题标题】:error MSB6006: "midl.exe" exited with code -1073741515错误 MSB6006:“midl.exe”退出,代码为 -1073741515
【发布时间】:2017-12-13 21:39:31
【问题描述】:

我在VS2015更新3构建C++项目时遇到问题,错误信息如下:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(1318,5): error MSB6006: "midl.exe" exited with code -1073741515

编辑: 这是一个使用 SDK 10.0.150310 的项目。
在 Windows 10 上构建成功,但在 Windows 7 上失败并出现上述错误。

【问题讨论】:

  • 你有没有找到丢失的DLL?
  • 使用missins DLL或安装win8 SDK没有帮助。仅在 windows10 或 windows server2016 上编译它解决了这个问题(停止与它斗争,因为最初代码是在 win10 上编写的......)
  • 好的,发布这个答案

标签: c++ visual-studio visual-studio-2015


【解决方案1】:

错误-1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUND

STATUS_DLL_NOT_FOUND                                           ntstatus.h

The program can't start because %hs is missing from your computer. Try reinstalling the program to fix this problem.

所以缺少一个 dll。使用ProcessMonitor,捕获活动并过滤 DLL 加载事件。现在查看 Result 列中您看到错误的位置。现在看看缺少哪个 DLL。

【讨论】:

  • 我在 system32 文件夹(Windows 8)中看到了第一个 DLL,但我也错过了第二个。看起来VS2015需要Win7没有的那些DLL。如果你想为 Win7 调试你的应用程序,在 WIn10 上编译它并使用远程调试工具在 Windows 7 上调试应用程序
  • 在结果列中发现两个丢失的 DLL 文件显示 NAME NOT FOUND: api-ms-win-core-fibers-l1-1-1.dll 和 api-ms-win-core-localization -l1-2-1.dll。这些与win8.1 sdks有关,所以我下载并安装了它。但错误仍然存​​在。
  • 现在我有了 dll 文件(从 win8 操作系统获取),使用 gacutil 安装返回“将程序集添加到缓存失败:该模块应包含程序集清单。”,这些是我在 win8 中检查时位于多个位置的文件。
  • 你现在想用 GACUtil 做什么?
  • 再说一遍,你想用 GACutil 做什么?
【解决方案2】:

使用missins DLL 或安装win8 SDK 没有帮助。仅在 windows10 或 windows server2016 上编译它解决了这个问题(停止与它斗争,因为最初代码是在 win10 上编写的......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 2012-03-01
    • 2014-12-15
    • 2021-04-04
    • 2018-05-19
    • 2012-10-18
    • 2020-06-19
    相关资源
    最近更新 更多