1

每当我尝试从 cmd 运行 mingw32-make 时,都会出现以下对话框:

mingw32-make.exe - 应用程序错误:应用程序无法正确启动 (0xc000007b)。 单击确定关闭应用程序。

我已经尝试重新安装 mingw32-make (相同的版本和以前的版本),但问题仍然存在。无论向 mingw32-make 提供任何参数或输入,以及当前目录中是否存在 Makefile,都会发生此错误。

我查看了错误,似乎是 mingw32-make 所依赖的 DLL 有问题。我尝试在 mingw32-make.exe 上运行 Dependency Walker,看起来它所依赖的几乎所有 DLL(约 140 个单独的文件)都是 64 位的,而应用程序本身是 32 位的。

这是 MinGW 安装程序中的错误吗?除了为它所依赖的所有 DLL 提供 32 位版本之外,是否有一种简单的方法来解决它?

4

2 回答 2

4

如果你得到:

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

运行应用程序时,您应该记得那0xC000007B是 的代码STATUS_INVALID_IMAGE_FORMAT,这很好地证明了 64 位应用程序正在尝试加载 32 位 DLL,反之亦然。例如,您的PATH环境变量肯定被其他一些 MinGW 污染了,或者天知道还有什么。只要把事情清理干净,让它变得简单,你就会找到原因。

进一步的建议:

  1. 为什么更喜欢make(来自 MSYS)而不是mingw32-make. 您可以在此处下载有点过时但最新的稳定 MSYS。新版本正在积极开发中。

  2. 使用MinGW-w64代替MinGW。你可以 在这里下载。它已经提供了基于 GCC 4.8.1 的前沿 MinGW-w64。更重要的是,它提供了所有可能的变化:

    • 64位目标;
    • 32 位目标;
    • Win32线程;
    • POSIX 线程;
    • SEH 异常;
    • 矮人例外;
    • SJLJ 例外。
于 2013-10-11T22:14:46.120 回答
0

您的处理器架构是 64 位还是 32 位?

我有一个 smilar 问题,我通过卸载 Microsoft Visual C++ Redistributable 并下载并安装最新版本来修复它

于 2013-10-11T21:40:21.170 回答