This page will guide you through a typical, one size fits all, installation of MinGW. If you are new to MinGW, this is a perfect place to learn which packages are required, and which tools are used to perform which tasks.
Contents of MinGW Packages
- 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 core package, which provides only a C compiler, with additional supplementary packages for additional programming languages. You must get at least the 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 core package.
- 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, 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, 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, to obtain a correctly functioning compiler suite.
- 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 Installation Notes
MinGW may have problems with paths containing spaces, and if not, usually other programs used with MinGW will experience problems with such paths. Thus, we recommend that you do not install MinGW in any location with spaces in the path name reference; i.e. you should avoid installing into any subdirectory of "Program Files" or "My Documents", or the like.
No version numbering convention exists, for MinGW as a whole. Each package has its own version number, and the installer version number does not necessarily reflect the version number of any individual package which it installs.
Download the latest MinGW-5.x.x.exe installer from sourceforge.net and run the installer. When prompted to choose which package you wish, if unsure or if you have never used MinGW before, we recommend choosing the "current" package (the default option). You will then be able to choose which components you wish to install:
- MinGW base tools: This required component is composed of binutils, the C compiler, the runtime and platform API.
- ... compiler: This component install a compiler for the programming language specified in the label of the component. Usually, you will at least want to also install the C++ compiler.
- MinGW make: This component installs make, a program capable of interpreting Makefiles. This component is highly recommended as many IDE's require this functionality.
When choosing the "Destination Folder" for the installation, please consider not installing MinGW in a path that contains spaces unless you have read the installation notes above and are aware of possible problems.
The installer will then download and install the components selected.