MinGW, a contraction of "Minimalist GNU for Windows", is a port of the GNU Compiler Collection (GCC), and GNU Binutils, for use in the development of native Microsoft Windows applications. Offered in easily installed binary package format, for native deployment on MS-Windows, or user-built from source, for cross-hosted use on Unix or GNU/Linux, the suite exploits Microsoft's standard system DLLs to provide the C-Runtime and Windows API. It is augmented by additional function libraries for improved ISO C-99 compatibility, and further, by community supported add-on tools and libraries, many pre-built, many more in the form of "mingwPORTs", to be built by the end user.
MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs.
MinGW is a Windows port of GCC and other GNU utilities. MinGW contains the following packages:
- MinGW (GCC compiler suite)
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/95 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
- MSYS (Unix-like command line utilities)
MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present. It is intended to supplement MinGW and the deficiencies of the cmd shell.
- msysDTK (MSYS Developer Tool Kit)
msysDTK includes the components autoconf, automake, libtool, autogen, openssl, openssh, cvs, guile, and inetutils. Download is included on the MSYS page.
- mingwPORT (utilities for porting GNU software to MinGW)
The mingwPORTs provide an automated and repeatable method of creating and building libraries and applications from source. By using a build script such as the mingwPORT files, developers can easily share the steps it takes to create an executable or library on their particular operating system with a specific compiler.
MinGW Installation Notes
It is strongly recommend that you do not install MinGW in any location with spaces in the path name reference e.g. any subdirectory of "Program Files" or "My Document".
Automated (GUI) Installer
If you are new to MinGW, the recommended way to begin is to download the Automated MinGW Installer (e.g. MinGW-5.1.6.exe) and run it. This package will install mingw-runtime, w32api, GCC, binutils and mingw32-make, (but it may not install the latest versions of the individual packages). Once you have all these packages (although mingw32-make is not necessary if you have MSYS or Cygwin), you may download updated individual packages, like GCC, and extract them into the MinGW directory.