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 strongly 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.
Graphical User Interface Installer
The GUI installer is a graphical user interface to the CLI mingw-get installer described below. To use it:
- Download and run the latest mingw-get-inst version.
- Select the directory to install MinGW, remembering the advice given above that the path to this directory should not contain any spaces.
- Select the optional components to be installed, including the C++, Fortran, Objective-C, and Ada compilers and MSYS.
The GUI installer will then download and run the mingw-get CLI installer to install GCC version 4.5. Note that make and gdb are installed automatically by the GUI installer. Before using MinGW, you should add C:\MinGW\bin; to the PATH environment variable using the instructions provided below.
The mingw-get-inst release notes contain more detailed information about the configuration and use of the mingw-get-inst installer.
Note that to use mingw, you'll need to run Start Menu => Programs => Mingw => MinGW Shell, or set your path manually (see below).
Command Line Interface Installer
The recommended tool for automated installation is mingw-get; although currently designated 'alpha', this is already capable of installing GCC 4.5 and the basic (optional) MSYS shell environment recommended to support it. (Do note, however, that since it is still under development, we may ask you to manually perform some follow-up actions, which you might rightfully expect the installer to complete for you; eventually it will, but in the meantime, please bear with us).
Download the latest version of the mingw-get installer and extract the files to the C:\MinGW directory using a program that can extract zip files. Recent versions of Windows may support this directly from the Windows Explorer; alternatively you may use a program such as 7-Zip.
Add C:\MinGW\bin; to the PATH environment variable by opening the System control panel, going to the Advanced tab, and clicking the Environment Variables button. If you currently have a Command Prompt window open, it will not recognize the change to the environment variables; you will need to open a new Command Prompt window to get the new PATH.
At the Command Prompt, cd to bin and type the command
mingw-get install gcc
to download and install the C compiler, and its requisite support packages; (mingwrt, w32api and binutils, for those interested).Additionally, you can specify any or all of the following additional packages:
- g++ (C++ compiler)
- fortran (Fortran 90/95 compiler)
- ada (Ada compiler)
- java (Java compiler)
- objc (Objective-C compiler)
- mingw32-make (GNU make)
- gdb (GNU debugger)
- msys-base (MSYS shell environment)
For example, the command
mingw-get install gcc g++ mingw32-make
will install the C compiler, C++ compiler, and make utility.You can install more additional packages at any time. For example, the command
mingw-get install fortran gdb
will add the Fortran 90/95 compiler and debugger to the existing installation.If you choose to also install 'msys-base', note that its default installation path is 'C:\MSYS\1.0', and the easiest way to start the shell is by running the msys.bat file found in that directory. You may also wish to run the command
within the MSYS shell, the first time you start it. (This is a temporary measure, to establish bindings between your MinGW and MSYS installations; it will become unnecessary, when a post-install scripting capability is added to mingw-get).
The mingw-get release notes contain more detailed information about the configuration and use of the mingw-get installer. GCC documentation, make documentation, and GDB documentation are available online.
When you install command line tools, such as MinGW, or GnuWin32 tools, you have to tell the command line interpreter where to find them; this is usually accomplished by adding the appropriate directory names to the PATH variable in your environment. Typically, it is your responsibility to do this; please do not expect the installer, (if you used one), to do it for you.
Warning: Adding entries to the PATH is normally benign. However, if you delete, you may mess up your PATH string, and you could seriously compromise the functioning of your computer. Please be careful.
- Right-click on "My Computer" and select "Properties".
- Click Advanced -> Environment Variables.
- In the box entitled "System Variables" scroll down to the line that says "PATH" and double-click the entry.
- You will be presented with a dialog box with two text boxes, the bottom text box allows you to edit the PATH variable. It is very important that you do not delete the existing values in the PATH string, this will cause all sorts of problems for you!
- Scroll to the end of the string and at the end add ";<installation-directory>\bin". Here <installation-directory> is the full absolute path name of the installation directory; if you accepted the defaults when installing tar and gzip, then for these, it will (probably) be C:\Program Files\GnuWin32, while for MinGW it will be C:\MinGW\bin, (if you kept to the recommended default installation directory). Don't forget the semicolon; this separates the entries in the PATH.
- press OK -> OK -> OK and you are done.
- The installer does not automatically modify any environment settings, (in particular PATH). You will need to add the MinGW `bin' directory, as described: see #Environment Settings.
- For versions of MSYS prior to MSYS-1.0.11; do not install MinGW into the same path as MSYS; (you may install to a subdirectory of the MSYS tree, as long as non-MSYS executables are not placed in the MSYS /bin directory). You probably don't have to worry about this.
- When you install both MSYS and MinGW, and have /mingw mapped to your MinGW directory (as is the default), if you then install ports, supplementary MinGW programs or libraries, you are advised to install them into the /mingw directory tree, to ensure that they will be available for use with GCC; e.g. you should configure with
../path/to/configure --prefix=`cd /mingw; pwd -W`
(This latter form is preferred, when the program being installed is a native Windows binary, and the prefix may be hard coded into the executable).
As an alternative to the automated installer, you may install MinGW by manually downloading and extracting individual components. Please refer to HOWTO Install the MinGW (GCC) Compiler Suite for information on manual installation.