Revision of MinGW from 2009, July 23 - 21:00

Printer-friendly version

MinGW ("Minimalistic GNU for Windows") is a collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs.

Full description

  MinGW refers to a set of runtime headers, used in building a compiler system based on the GNU GCC and binutils projects. It compiles and links code to be run on Win32 platforms... providing C, C++ and Fortran compilers plus other related tools. If you see references to "mingw32" instead of "MinGW", they are referring to the same compiler system. The project's name changed from mingw32 to MinGW is to prevent the implication that MinGW will only works on 32 bit systems (as 64 and higher bit machines become more common, MinGW will evolve to work with them). MinGW uses the Microsoft runtime libraries, distributed with the Windows operating system. Unlike other ports of GCC to Windows, the runtime libraries are not distributed using GNU's General Public License (GPL). You, therefore, do not have to distribute your source code with your programs unless, of course, you use a GPL library in your programs.

  Initially, MinGW was an assortment of individual packages... the MinGW runtime, various applications built using that runtime (gcc, ld, etc.), and other useful components (the w32api headers needed to code for the Win32 API). Developers "rolled their own" MinGW environments by downloading the latest versions of each individual package needed. This was necessary given the dynamic nature of early package versions (updates being posted constantly)... but was oftentimes confusing for newbies, and made it difficult for application/library vendors to design products that build with a "standard" MinGW environment.

  Therefore, around mid-2001 when development had matured and updates were not being packaged as rapidly, the decision was made to create a single-file distribution of the standard MinGW environment. This single archive contains the files from each component package, bundled and ready to extract. The individual component packages are still available for download... if a particular package is updated in between releases of the overall distribution, it's possible to simply drop the newer package in place over a distribution install.

Packages included in MinGW

  • binutils - Assembler, linker, ...
  • mingw-runtime - Headers and libraries for the C library
  • w32api - Windows API header files and libraries
  • gcc-core - C compiler
  • gcc-g++ - C++ compiler
  • gcc-objc - Objective C compiler
  • gcc-gfortran - Fortran 90 compiler
  • gcc-java - Java compiler
  • gcc-ada - Ada compiler
  • mingw-gdb - Windows native build of GNU debugger
  • mingw32-make - Windows native build of GNU make
  • mingw-utils - Miscellaneous utilities

Contents of MinGW Packages

binutils: A native port of the GNU binutils. Amongst other tools, this package contains the assembler and linker, which will transform the output of the compiler into a binary executable. You must install this package, together with gcc-core, to obtain a correctly functioning compiler suite.
mingw-runtime: Header files and import libraries for the default C runtime library, (also known as msvcrt), which is required by MinGW compiled programs running on the Microsoft Windows operating system. You must install this package, together with gcc-core, to obtain a correctly functioning compiler suite.
w32api: Header files and import libraries for the Microsoft Windows operating system; this provides the Application Programming Interface (API) required to access the essential operating system service functions, which are required by any working native Windows application. You must install this package, together with gcc-core, to obtain a correctly functioning compiler suite.
gcc: A native port of the GNU gcc compiler. This is the application which parses source files, translating them to linkable object code. Note that the gcc package set is subdivided into a gcc-core package, which provides only a C compiler, with additional supplementary packages for additional programming languages. You must get at least the gcc-core package; if you also wish to add any supplementary languages, please ensure that you get the appropriate packages, with the same version number as the gcc-core package.
mingw-gdb: A native port of GNU debugger.
mingw32-make: A native port of GNU make. This application parses makefiles to create a project by following the rules expressed in the makefile.
mingw-utils: Miscellaneous utilities.


  MinGW contains several different packages.  Some of those packages are licensed by the GNU Public License (GPL), some are licensed in the Public Domain and some have their own versions of a license. See [[mingw:license|Licensing Terms]]


  It can be download from [ Sourceforge's MinGW project page]. The package's name is MINGW-NNN.exe.


Re: MinGW and Twilight Dragon media

What is the relationship between mingw and
Is it one main developper that is releasing patches and binaries ?

Re: MinGW and Twilight Dragon media

earnie's picture

Those are independent releases. As far as I know there is no collaboration between tdragon and MinGW; other than tdragon is a member of the MinGW developer community.

Quoted from the link you point to:

The TDM-GCC builds are unofficially created packages designed to replace, for experimentation purposes, the official MinGW releases of GCC binaries. The TDM-GCC builds typically contain fewer changes from the vanilla sources and receive less testing than their official counterparts. Since these builds are not formally affiliated with or endorsed by the MinGW project, they should be treated as unstable and unsupported software -- in other words, use it at your own risk.

Re: MinGW and Twilight Dragon media

I can not download the mingw-nnn.exe file. After I click on the link above I come to this MinGW-5.1.4.exe. Please fix it or give the right link.

Re: MinGW and Twilight Dragon media

You need to click the Files link on the SourceForge page.

Re: MinGW and Twilight Dragon media

keith's picture

herr-master, what do you think MinGW-NNN.exe means? It doesn't mean literally MinGW-NNN.exe; NNN is a place holder for the current version number, and at the time you posted your comment, that was 5.1.4, (so representing the MinGW-5.1.4.exe you saw -- thus, there is nothing to be fixed, beyond a minor clarification of this).

Today, when I click through the link above, I see a large green button bearing the legend "Download Now!" and pointing to MinGW-5.1.6.exe, which is exactly as it should be; (NNN has now become 5.1.6).

If you want other packages, beyond the default base system which MinGW-NNN.exe will install, then you need to click through the files link, or the smaller white button, bearing the legend "View all files".

This wiki is not a forum for discussion of usage issues. Please use the list instead. We do not allow creation of comments by anonymous or untrusted users, on any page.
Site Status

Site maintenance performed successfully, site online Dec 13th 12:00 AM Eastern.