Cygwin MinGW package versus standalone MinGW
I would like to have a POSIX environment on Windows (to use as a system shell) and at the same time create my own Windows executables. One option in the past has been to install Cygwin and MinGW and possibly call the MinGW compiler from Cygwin.
The x64 MinGW is now available directly as a Cygwin package, and there are some blogs out there that describe how to get them to play well together.
Before making this decision, I would like to know how and if the Cygwin package differs from the standalone MinGW-w64. Specifically, which one is more efficient when creating your own Win64 exe? Is the Cygwin package itself based on its own executables, or is it an extension of its gcc compilers?
Update
Some of you have misunderstood this question:
I am not interested in the difference between Cygwin and MinGW at all.
(and by the way, on the MinGW homepage itself, their main problem is showing how they differ from Cygwin)
My question is very specific: I am interested in the difference between a specific Cygwin package and its standalone version.
This package is "mingw64-x86_64", which is split into several dependency files, of which the most relevant is probably "mingw64-x86_64-gcc-core".
Sorry, but the links found in some of the comments are completely wrong with regard to what is being asked here: first they refer to Cygwin in general, not the package mentioned; secondly, they refer to a fairly old version of MinGW, significantly different from the one mentioned here (see differences here ).
Someone also mentions MSYS2 which is a modern fork of Cygwin, but again I am not interested in Cygwin (as a whole) but to the specified package.
Some of you may not know about this package, and in fact if you google for "mingw64-x86_64" you won't find anything suitable for the Cygwin package and will most likely land on the generic version and that's why I am posting here.
source to share
TL; DR: Install Cygwin and package mingw64-x86_64-gcc-core
.
if Cygwin package differs from standalone MinGW-w64
They are the same.
-
MinGW is a project that can be found at mingw.org and at sourceforge.net/projects/mingw. This project has been superseded by MSYS2 and MinGW-w64 projects.
-
Cygwin environment is a Unix-like environment, namely Bash.
-
Compilers Cygwin - it packs
gcc-core
andcygwin32-gcc-core
that include filesx86_64-pc-cygwin-gcc.exe
andi686-pc-cygwin-gcc.exe
. These compilers create programs that rely oncygwin1.dll
. -
the MSYS2 environment is a Unix-like environment, namely Bash. This is to update the MSYS environment provided by the old MinGW project.
-
The MinGW-w64 compilers are packages
mingw64-x86_64-gcc-core
andmingw64-i686-gcc-core
that include filesx86_64-w64-mingw32-gcc.exe
andi686-w64-mingw32-gcc.exe
. These compilers create Windows native programs that don't rely oncygwin1.dll
.
source to share