1

Whenever I try to run mingw32-make from cmd, I get this dialog:

mingw32-make.exe - Application Error: The application was unable to start correctly (0xc000007b). Click OK to close the application.

I've tried reinstalling mingw32-make (both the same and a previous version), but the problem persists. This error occurs regardless of any arguments or input given to mingw32-make, and regardless of whether there is a Makefile in the current directory.

I looked up the error, and it seems like it's a problem with the DLLs that mingw32-make depends on. I tried running Dependency Walker on mingw32-make.exe, and it looks like pretty much all of the DLLs it depends on (~140 seperate files) are 64-bit, while the application itself is 32-bit.

Is this an error in the MinGW installer? And is there an easy way to solve it, short of providing 32-bit versions for all of the DLLs it depends on?

Rose Kunkel
  • 3,102
  • 2
  • 27
  • 53

2 Answers2

4

If you get:

The application was unable to start correctly (0xc000007b). Click OK to close the application.

when running an application, then you should recall that 0xC000007B is the code of STATUS_INVALID_IMAGE_FORMAT, which is a good evidence that 64-bit application is trying to load 32-bit DLLs or vice versa. You definitely have your PATH environment variable polluted with some other MinGW, for example, or god knows what else. Just clean things up and make it simple, you'll find the cause.

Further recommendations:

  1. Why to prefer make (from MSYS) instead of mingw32-make. You can download a bit dated, but latest stable MSYS here. New version is under active development.

  2. Use MinGW-w64 instead of MinGW. You can download it here. It already offers the bleeding-edge MinGW-w64 based on GCC 4.8.1. What's more it offers all the possible variations:

    • 64-bit targets;
    • 32-bit targets;
    • Win32 threads;
    • POSIX threads;
    • SEH exceptions;
    • DWARF exceptions;
    • SJLJ exceptions.
Community
  • 1
  • 1
Alexander Shukaev
  • 16,674
  • 8
  • 70
  • 85
  • I have no desire to install MSYS just so that I can run `make`. But I'll take a look at MinGW-w64. – Rose Kunkel Oct 11 '13 at 22:23
  • MSYS contains not only `make`. It has lots of useful Unix utilities which are essential to build certain 3rd party libraries. Furthermore it contains `bash` as well. All of these distributions are native and drop-in, i.e. require no installation, just unarchive, add to `PATH` and you are good to go. No actions behind your back which then cause what you have to deal now with. – Alexander Shukaev Oct 11 '13 at 22:27
  • I don't think there were "actions behind my back"; I think MinGW may have just made certain assumptions it should not have when installing. I'd rather avoid installing something as extensive as MSYS until I come to a point where I will actually need it; for now I just need a functioning GNU make replica. – Rose Kunkel Oct 11 '13 at 22:34
  • The point is that `mingw32-make` is non-functional GNU Make, and it's admitted by MinGW developers themselves. It is strongly discouraged to use it. Anyway, you were warned, now it's up to you. – Alexander Shukaev Oct 11 '13 at 22:37
0

What is your processor architecture 64 bits or 32bits?

I had a smilar issue and I fix it by uninstalling Microsoft Visual C++ Redistributable and downloading and installing the most current version

meda
  • 45,103
  • 14
  • 92
  • 122
  • My processor is x86-64. I have the Visual Studio 2013 Preview installed, so I assume I'm getting my Visual C++ runtime libraries from that. – Rose Kunkel Oct 11 '13 at 21:41