The MinGW from http://www.mingw.org/ does only support gcc 32 bit (host and target). The independent minGW-w64 project provides support for 64 bit, and also supports a much larger part of the Windows API. The MinGW-w64 project however does not provide official binary builds: These can be grabbed either from the personal build directories of the developers (the most popular being rubenvb), or from associated but independent projects like tdm-gcc or mingw-builds or msys2.
Source: http://wiki.qt.io/MinGW-64-bit
Answer from KindDragon on Stack OverflowThe MinGW from http://www.mingw.org/ does only support gcc 32 bit (host and target). The independent minGW-w64 project provides support for 64 bit, and also supports a much larger part of the Windows API. The MinGW-w64 project however does not provide official binary builds: These can be grabbed either from the personal build directories of the developers (the most popular being rubenvb), or from associated but independent projects like tdm-gcc or mingw-builds or msys2.
Source: http://wiki.qt.io/MinGW-64-bit
As said by others MinGW-w64 is a fork of the original MinGW which supports both 32 and 64bit x86 processors. You can find the original motivation for the fork here:
https://sourceforge.net/p/mingw-w64/wiki2/History/
Regarding the differences you can find a list here:
https://sourceforge.net/p/mingw-w64/wiki2/Feature%20list/
Can some one explain the difference between MinGW and MinGW-w64 and the difference between MinGW and Cygwin?
I think mingw_w64 is 64 bit but it also fixes some issues in mingw if i rember correctly.
I have no idea what the difference is between mingw and cygwin because all the explenations are to hard for me to follow.
Why do MinGW binaries have such complicated names? (e.g. i686-w64-mingw32-...) - Stack Overflow
c++ - What is the difference between MinGW, MinGW-w64 and MinGW-builds? - Stack Overflow
Setting up Win32 for Mingw - C++ Forum
What is the difference between different mingw versions?
The MinGW from http://www.mingw.org/ does only support gcc 32 bit (host and target). The independent minGW-w64 project provides support for 64 bit, and also supports a much larger part of the Windows API. The MinGW-w64 project however does not provide official binary builds: These can be grabbed either from the personal build directories of the developers (the most popular being rubenvb), or from associated but independent projects like tdm-gcc or mingw-builds or msys2.
Source: http://wiki.qt.io/MinGW-64-bit
Answer from KindDragon on Stack OverflowMinGW is a GCC-port for Windows. Not all of the Windows API is supported (but for many programs the supported stuff is sufficient) and it´s only for 32bit-Programs (which often can run on 64bit-Windows too, but some can´t, and you can´t compile them as 64bit).
MinGW-w64 is a improved version which supports both 32bit and 64bit, and some more of the WinAPI (still not all, because thats much work, but more than MinGW).
MinGW-w64 only provides their source code, but no binaries to "just use" the compiler.
MinGW-builds is a somewhat separate project to provide binaries in the most useful configurations. To get a specialized build of MinGW-w64, manual compiling is still possible.
Using the MinGW-builds self-installer is the easiest way, if nothing unusual is needed. Also see here for help with the self-installer.
Mingw compiles your code to Windows binaries that run under Windows.
Windows subsystem for Linux (WSL) makes Linux binaries. You can install other Linux programs under WSL, except if you need a graphical interface. You can access the Windows filesystem from WSL, but not vice versa.
Cygwin makes Windows binaries that can run under Windows outside the Cygwin shell, as long as you have the Cygwin DLL. This gives a Linux-like environment that is fully compatible with Windows.
I am new to windows and cpp. I wanted to install gcc/g++ and found out that I need to install mingw but there are so many variations I have no idea what to select. what is the difference between posix and win32, sjij and seh? will there be any compatibility issues if I select just at random ? I tried searching online but the questions and answers were a bit old. Does it make no difference in modern systems or modern versions ?
another question I have is about msvc. I don't want to install it because it's too large. but is it worth it like if I use msvc I wouldn't have to worry about these(variations in mingw) at all or something like that ?
I am still not sure about the usage of gcc, I'll mostly tryout some game dev, GUI apps etc.