【问题标题】:0xc000007b error on Windows 7 64Windows 7 64 上的 0xc000007b 错误
【发布时间】:2014-11-28 17:47:46
【问题描述】:

我最近不得不重新安装 Windows 7 64(我的硬盘坏了),我正在使用 vc++ 2013 构建我的一个项目,但是当我运行它时,我得到一个 0xc000007b 错误

我发现 32 位应用程序的此错误通常是由于加载 64 位 dll 而不是 32 位版本

所以我试图弄清楚发生了什么,我尝试使用 Dependency Walker,但是当我用它打开我的 exe 时我看到的唯一错误是那些文件丢失:

API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
DCOMP.DLL
GPSVC.DLL
IESHIMS.DLL

我怀疑这是问题所在,这些错误似乎向很多人展示,我想我应该忽略它们

其余的 dll 似乎没问题,而且是 32 位的,所以看起来没问题

我尝试使用依赖项walker 上的分析选项找到更多信息,但它在加载一堆dll 后挂起,我怀疑分析日志中的任何信息是否有用,但我还是发布了它(我无法从Dependency Walker 窗口导致进程此时没有响应)

我在另一个堆栈溢出 post 中读到,这个问题可能会在我无法找到的 2.2.8288 版本的 Dependency Walker 中修复

我尝试卸载并重新安装 vs 2008/2010/2012/2013 可再发行包 x86/x64 以解决问题,正如其他帖子中关于此错误的建议,但没有奏效

目前我不知道如何弄清楚为什么会发生,任何提示都会有所帮助

编辑:

我尝试按照建议从 WDK 安装最新的 Dependency Walker 版本,但遇到了同样的问题

我也在尝试使用 Process Monitor,并且我有一个加载的 dll 列表。我使用在文件上运行 dumpbin 的脚本检查了列表以检查体系结构,只是为了确定,this 是结果,对我来说似乎没问题,唯一的 x64 dll 是 wow64 dll,应该没问题,我是俯瞰什么?

【问题讨论】:

  • 不要使用 Depends,SysInternals 的 Process Monitor 可以显示它找到的 DLL。
  • 最新的depends.exe (2.2.9600.0) 是Windows 8.1 WDK 的一部分

标签: visual-studio visual-c++ windows-7 windows-7-x64


【解决方案1】:

这是我知道的一个老问题,但是因为我这周遇到了同样的错误并且花了很多时间寻找原因(修复,重新安装 Visual Studio,重新编译依赖的 DLL,...),我分享我的解决方案在这里。

由于 DLL 冲突,有时会发生 0xc000007b 错误。导入的 DLL 之一是从您预期的其他位置导入的。 例如,在您的问题中,您的路径上有第二个 GPSVC.DLL 副本已加载并出现 0xc000007b 错误。

您可以使用where 控制台命令找到DLL 位置并查看是否存在第二个副本:

> where GPSVC.DLL
C:\path\to\another\copy\GPSVC.DLL

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2011-05-02
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多