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?


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

1 answer

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 and at 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

    and cygwin32-gcc-core

    that include files x86_64-pc-cygwin-gcc.exe

    and i686-pc-cygwin-gcc.exe

    . These compilers create programs that rely on cygwin1.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


    that include files x86_64-w64-mingw32-gcc.exe


    . These compilers create Windows native programs that don't rely on cygwin1.dll


What do C compilers generate in Cygwin?



All Articles