7

I have an MSYS installation on my Windows machine.

Inside the root folder, there are two executables:

  • msys2.exe
  • mingw64.exe

(There is also a mingw32.exe but that is just the 32-bit version of mingw64, I believe).

Both executables launch a terminal window, that seem identical to me, apart from the fact that $PATH reports slight differences.

What is the difference between these two, and what is the purpose of each?

1 Answers1

1

The different exe files in C:\msys64 start different MSYS2 environments.

MSYS2 provides Linux tools for building native Windows applications. It comes with different "environments" that contain different build tools. So you should use the environment that fits your requirements the best.

The differences among the environments are mainly environment variables, default compilers/linkers, architecture, system libraries used etc.

All environments and their differences are listed in the documentation.

Specifically, the difference between MSYS (msys2.exe) and MINGW64 (mingw64.exe) is that MSYS has the Cygwin C standard library and MINGW64 has the MSVCRT (Microsoft Visual C++ Runtime) C standard library.

The documentation says: "If you are unsure, go with UCRT64." UCRT64 is another environment similar to MINGW64, but UCRT64 uses the UCRT (Universal C Runtime) instead, which "is a newer version which is also used by Microsoft Visual Studio by default".