相关疑难解决方法(0)

应用程序无法正确启动(0xc000007b)

我有一个客户端/服务器应用程序,我一直在一台PC上开发.现在它需要两个串口,所以我从朋友那里借了一台电脑.

当我构建我的应用程序并尝试运行或调试它时(无论是在Delphi IDE中还是从Windows文件管理器中),它出现错误"应用程序无法正确启动(0xc000007b)".

谷歌搜索没有带来多少,但似乎表明这不是特定于Delphi的其他应用程序.它似乎是由64位应用程序调用32位DLL引起的,反之亦然.

  • 两台PC都是Windows 7,64位
  • 两者都有Delphi Xe2入门版,只能处理32位
  • 该应用程序在我的电脑上正常运行,但不在我朋友的电脑上运行
  • 其他Delphi应用程序在两台PC上运行良好

任何人都可以给我一个提示,如何跟踪这个?

windows delphi 64-bit

153
推荐指数
7
解决办法
37万
查看次数

在Win10上使用VS2015编译的C++ SDL2程序中调试加载时错误

我正在使用Visual Studio 2015在64位Windows 10上使用SDL2编写C++项目.我最近购买了一台新的Windows 10笔记本电脑并从github克隆了我的项目.我的项目编译正确,但运行时出现以下错误:

应用程序无法正确启动(0xc000007b).单击"确定"关闭应用程序.

根据我目前的研究,这个错误通常是由加载不兼容的DLL引起的,例如64位版本而不是32位版本.到目前为止我发现的建议包括:

  • 检查我是否使用32位版本的SDL2 DLL
  • 安装/重新安装Visual Studio 2015的Visual C++ Redistributable的x86版本
  • 使用Dependency Walker来解决哪个DLL失败的问题

我的项目设置为Win32构建,我确保我使用的是我明确链接的所有DLL的32位版本(libfreetype-6,libpng16-16,SDL2,SDL2_image,SDL2_mixer和SDL2_ttf) .我已确认x86 VC++ Redistributable已安装在我的机器上.

最后,我尝试使用Dependency Walker来确定可能导致问题的DLL(虽然我已经读到了Dependency Walker有很多误报的警告).这些是结果:

Dependency Walker静态分析 Dependency Walker静态分析

Dependency Walker分析结果 Dependency Walker分析结果

在那之后,探查器冻结并且永远不会继续.请注意,SDL组件和VC运行时正在加载而没有错误.

该程序在我的两台旧机器上正确编译和加载,一台运行32位Windows 7,一台运行64位Windows 10.

现在是实际问题.我可以采取哪些其他步骤来调试此崩溃?或者有人从我提供的信息中看到我做错了什么?

相关问题:

编辑:

正如rflobao建议的那样,我在32位exe上使用了64位版本的Dependency Walker.以下是我的分析运行的新输出:

新的Dependency Walker配置文件输出

此时,和以前一样,Dependency Walker冻结了.我仍然完全迷失了,并且不觉得我更接近能够确定导致问题的原因.

c++ dll sdl-2 windows-10 visual-studio-2015

10
推荐指数
2
解决办法
737
查看次数

标签 统计

64-bit ×1

c++ ×1

delphi ×1

dll ×1

sdl-2 ×1

visual-studio-2015 ×1

windows ×1

windows-10 ×1