Revision of HOWTO Install the MinGW (GCC) Compiler Suite from 2009, March 30 - 14:01

Printer-friendly version

TODO: Revise untar instructions.

Using the Automated (GUI) Installer

If you are new to MinGW, the recommended way to begin is to download an installer executable from and run it (e.g. "MinGW-5.1.4.exe" -- currently there is only a 'Proposed' Version). 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.


  • The default installation directory, as pre-configured within the installer, is C:\MinGW. Unless you are very sure you know what you are doing, you should not change this; in particular: never install MinGW into any directory which includes spaces in its absolute path name.
  • 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).
  • 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=/mingw


    ../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).

  • The installer will not automatically modify any environment settings, (in particular PATH). You will need to add the MinGW `bin' directory, as described below; see Environment Settings.

Manual Installation

Instead of using an installer you can as well get all required packets and unpack them manually into a subdirectory. In fact that's what this writer is doing himself.

Download the Packages

At least the following (or newer) packages from the

are needed (the automated mingw installer I think includes all of these and sets up the right directory for you--what it's doing is downloading compilers and default header files, and putting them in one place on your system, so the future builds will use those compilers and directories for building):

Note that you will need gcc-core for other gcc language front ends to work properly.

These files are gzipped tarballs, Linux users will probably be familiar with .tar.gz files, but they are not that common under Windows. Essentially they are compressed folders like zip files. In order to access the contents you will need to decompress them, this requires that you have gzip and tar installed on your machine. Linux comes with these as standard in every distribution, but under Windows you will need to install them manually. Windows versions can be found at:


Download the setup files and install the applications. Before you use them you need to tell Windows where to find them; specifically this means adding the install directory to your PATH. To do this, follow the procedure below, to update the PATH appropriately, in your Environment Settings.

Create Install Directory

Caution: Never install MinGW into any directory which includes spaces in its absolute path name.

Create a directory to install all the stuff into. This writer usually creates C:\MinGW, (the recommended default), and copies all of the above files in there. Now issue the following commands, remember to change the file names to match your downloads:

cd /d c:\MinGW
gzip -df binutils-2.16.91-20060119-1.tar.gz
tar -xf binutils-2.16.91-20060119-1.tar
cd info
ren dir dir.binutils
cd ..
gzip -df gcc-core-3.4.5-20060117-1.tar.gz
tar -xf gcc-core-3.4.5-20060117-1.tar
cd info
copy dir dir.gcc
copy dir+dir.binutils
cd ..
gzip -df gcc-g++-3.4.5-20060117-1.tar.gz
tar -xf gcc-g++-3.4.5-20060117-1.tar
gzip -df mingw-runtime-3.9.tar.gz
tar -xf mingw-runtime-3.9.tar
cd info
ren dir dir.gcc
cd ..
gzip -df w32api-3.6.tar.gz
tar -xf w32api-3.6.tar

(The commands copying and concatenating the info-dir files are really a rather crude way of creating a combined dir file and could use some enhancement.)

Additional Programming Languages

To add additional languages apply some or all of the following commands:

cd /d c:\MinGW
tar xvzf gcc-ada-3.4.5-20060117-1.tar.gz
tar xvzf gcc-g77-3.4.5-20060117-1.tar.gz
tar xvzf gcc-java-3.4.5-20060117-1.tar.gz
tar xvzf gcc-objc-3.4.5-20060117-1.tar.gz

MSYS Installation

You may also want to install MSYS.

Environment Settings

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.

  1. Right-click on "My Computer" and select "Properties".
  2. Click Advanced -> Environment Variables.
  3. In the box entitled "System Variables" scroll down to the line that says "PATH" and double-click the entry.
  4. 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!
  5. 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.
  6. press OK -> OK -> OK and you are done.

See also: Getting Started

Re: HOWTO Install the MinGW (GCC) Compiler Suite

I installed using the process BUT this release is quite old. The page suggests current stable release is 4.4 while the MinGW installer installs 3.4. Also this installer has g77 which is no longer a part of GNU compiler suite, its replaced by fortran95.

Thanks for your kindness for the MinGW compilers suite :)

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Use the MinGW installer to get everything set up in the proper directories. Then if you want version 4.4, download gcc-full-4.4.0-mingw32-bin-2.tar.lzma from the MinGW Sourceforge download page. You can decompress and unarchive using 7za from the 7zip web site. For instance, download the file to the c:\mingw directory, cd to that directory and then type:

   7za x gcc-full-4.4.0-mingw32-bin-2.tar.lzma 

   7za x gcc-full-4.4.0-mingw32-bin-2.tar

This should update your MinGW compiler suite. If you're using msys, there may be some other files you'll want to update as well.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

i have to install MinGW in my windows system.I am using MinGW-5.1.4 and i run the MinGW-5.1.4.Exe,after that i select custom from the dropdown box,and then, l selected g++ compiler,g77 compiler and MinGW Make only.Destination folder like C:\MinGW.This is correct way to install MinGW.Please help me how to install MinGW in the windows.I am using Windows XP.


Re: HOWTO Install the MinGW (GCC) Compiler Suite

Download MinGW automated installer from

Run it and choose options as per needed. It would install everything right. Then add C:\MinGW\bin to you PATH variable.

More detail is available on this web site if you care to search.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Is there a way to install MinGW with objC garbage collector enabled ?

Re: HOWTO Install the MinGW (GCC) Compiler Suite

MinGW automated installer does not let me select the mirror for downloading files.

This cause very slow in downloading and installing MinGW.

Please update it.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

You can set a preferred mirror in your own SourceForge user preferences. The installer uses whatever you have set there, with SF's automatic mirror selection as fallback. No update is necessary.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Is there a plan or guide for users who need to install MinGW to the "Program Files" or "AppData" directories? MS is becoming more hard line about installs that reside outside of their standard locations.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

So, Microsoft own your computer, do they?

It isn't their right to tell you how you must deploy your hardware. The canonically correct place to install MinGW is C:\MinGW, but you may move it anywhere else that you prefer, subject to the caveat that you must avoid path names with embedded spaces. If Microsoft tell you they can't allow you to accommodate that, tell them where to get off!

Re: HOWTO Install the MinGW (GCC) Compiler Suite

The MinGW installer is great, both for initial installs and for updates. But would it be possible to add the gdb debugger to the list of things it (optionally) installs/updates? Surely a debugger is a pretty essential component?


Re: HOWTO Install the MinGW (GCC) Compiler Suite

Is it correct that the MinGW download page link at the start of the Manual Installation instructions given above points to the MinGW Utilities: TclTk download page? Is the TclTk package a pre-requisite of the MinGW Compiler Suite?

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

No, and certainly not. I've corrected the reference; thanks for the heads-up.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Is there a way to install MinGW with objC garbage collector enabled ?


Re: HOWTO Install the MinGW (GCC) Compiler Suite


I am not able to get these ir entries ,w hat are they supposed to do??


ren dir dir.binutils
cd ..
.cd info
copy dir dir.gcc
copy dir+dir.binutils


kindly elaborate!!


Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

Why? Already asked, and answered. If you opened your eyes, and read the comment immediately below, you would have had no need to ask again! Indeed, it's already elaborated, in the notes following the relevant instruction, within the article itself!

A file is missing.

The copy I got of <binutils-2.19.1-mingw32-bin.tar.gz> from this site does not include a file called <dir>. Is that file supposed to always be produced by <tar.exe>? I used <bsdtar.exe> because that is what I got from <>. Is that causing the problem? What is that file used for? Is it really important?

Re: A file is missing.

keith's picture

Nope. That file should never be distributed; see my earlier comment to this same article, and this bug report.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

and so
when i compile gcc doesn't create e .exe with the same name but a file called 'a.exe'
i ve window XP

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

This comment is off-topic for this article; please use the mailing list.

For completeness here: this is correct behaviour -- default executable name is a.exe for all compilations. If you want something else, you must say so explicitly, by using the -o exename option, e.g.

gcc -o foo foo.c

will create an executable called foo.exe.

HOWTO Install the MinGW (GCC) Compiler Suite

i ve installed MinGW with Automated (GUI) Installer.
on internet someone says to di this in enviroment setting:

Valore: C:\MinGW\include

Nome: LIB
Valore: C:\MinGW\lib

Valore: C:\MinGW

Nome: PATH
Valore: C:\MinGW\bin

is it the truth?

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

The last is correct. The first three are unnecessary.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Require assistance.
0) I installed Mingw-5.1.4 "automatically" to C:\Documents and Settings\ouid\MinGW.
1) For some reason it didn't update my env. variables.
I added "C:\Documents and Settings\ouid\MinGW\bin\" to env.tables
2) I created file a.c with "int main(){}"
3) I try: C:\Documents and Settings\ouid\c>gcc a.c
gcc: installation problem, cannot exec `cc1': No such file or directory
4) I added "C:\Documents and Settings\ouid\MinGW\libexec\gcc\mingw32\3.4.5\" to %PATH%.
5) I try: C:\Documents and Settings\ouid\c>gcc a.c
ld: crt2.o: No such file: No such file or directory
After some googling I found that setting GCC_EXEC_PREFIX to lib/ directory will resolve the issue.
6) I added GCC_EXEC_PREFIX="C:\Documents and Settings\ouid\MinGW\lib\" to env variables
7) I try: C:\Documents and Settings\ouid\c>gcc a.c and it does NOTHING
but freezes up for eternity.
8) Google said that dropping everything from path and using full pathnames like
C:\Documents and Settings\ouid\bin\gcc a.c works. And it's really work. But this is workaround looks too stupid for obvious reasons. Well, creating gcc.bat thal calls C:\Documents and Settings\ouid\bin\mingw32-gcc and putting it in %PATH% works, but this workaround sucks.

What can be done to run gcc from %PATH%ed directory properly?

PS. My os is windows xp.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

Please review the updated version of the instructions. In particular, note the time honoured advice about path names which include spaces; (since you've used such a degenerate installation path, you should uninstall, and then install again, properly).

Also note the section about setting up your environment; you should not need to add anything else, but you must add C:\MinGW\bin to the PATH variable.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Not sure if this is the right place for this. Attempted to install MinGW for the first time, via the installer (today 27 feb 2009 around 22 GMT), install dir C:\MinGW. Got as far as un-gz'ing / un-tar'ing the g++ tarball:

Extracting gcc-g++-3.4.5-20060117-3.tar.gz
untgz::extract -d 'C:\MinGW' -z 'C:\Users\root\Desktop\gcc-g++-3.4.5-20060117-...
tgz_extract: bad header checksum
Error: Failure reading from tarball.

Downloaded installer again, compared fc /b, same.

Ran again, same error.

Found where it keeps the *.tar.gz, removed offending one to force re-download, same error.

Ran installer from C:\tmp rather than Desktop to force shorter paths, same error.

Ran again with all same options except without g++ this time, installed fine. I think. Not tried yet.

Really seems to be that *g++*.tar.gz then.


PS 32-bit Windows Vista Home Plus with the latest service packs, Firefox 3.0.6, on a MAXdata (dual core AMD64, 1G ram, 80G partition with 68G free).

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

1) This is not the right place for this sort of discussion; you should use the mailing list, (and you should first search the archives:

and review associated threads (click on an article reference link, then on the `subject' link in the article view)).

2) The problem results from SourceForge themselves having broken the `files' page scripting, (which is common to all their hosted projects), such that it chokes on files with `+' signs, (or possibly explicitly `++'), within the name, and fails to generate a valid download mirror URL. It has been reported:

No fix has yet been forthcoming. Bug SF about it; only they can fix it; we are powerless to resolve it.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

Okay, so i've now read burton's msg of 22 feb and the manual workarounds, in the Getting Started | MinGW wiki (how do you link to another thread?)

So consider this a heads-up that it's still broken. Must put lots of new people off. And i can't say i now understand *what* exactly the error with this one file is...

Re: HOWTO Install the MinGW (GCC) Compiler Suite

do not install MinGW into the same path as MSYS

Re: HOWTO Install the MinGW (GCC) Compiler Suite

I´m missing the gdb installation package from this HOWTO. Actually its missing in the automated installer as well. It would be nice if the automated installer would notify the user what version of the package it will download/install if you choose previous, current or candidate package.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

While the gzip and tar commands are useful, it would be useful to state the directory name explicitly for those like me that choose to manually create the info-dir directories another way. It was not clear whether the directory needed to be named 'dir' or 'info-dir' or '', etc, without crinkling the brow. Thanks for all this, btw...

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

In the context of info, `dir' is a file, not a directory (in the file system sense); it is always called `dir', and is found in a directory in the `INFOPATH'. Please see the comment below, which I added in August 2008, concerning the proper way to manage info's `dir' files.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

I propose merging these instructions into the existing instructions on the Getting Started page. I don't see the sense in having automated installation described on the Getting Started page and manual installation described in a HOWTO.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

I can see a practical reason for keeping them segregated.

The `Getting Started' really should be just a `Quick Start' guide, for new users. Such users really don't want to be overwhelmed by too much detail -- they just want to get up and running with a minimum of fuss.

OTOH, more experienced users may appreciate more detailed information. Such users may wish to maintain multiple installations, at different version levels for example, or to incrementally upgrade an existing installation, as newer components are released. (They may wish to do this directly, *without* having to go through the pain of running a nasty wizard style installer, which is really best suited to first time installation only -- ok, that's just my opinion of them, but I'm sure I'm not alone). The detailed information needed to facilitate this doesn't really belong in a `Getting Started' guide; it deserves a more extensive `HOWTO' document.

I'd actually suggest *simplifying* the `Getting Started' page, (to make it a real `Quick Start' guide), and keep this `HOWTO' as a detailed reference. Include a link to here, on the `Getting Started' page, for users wanting more detail, and if necessary merge any content removed from `Getting Started' in here.

Re: HOWTO Install the MinGW (GCC) Compiler Suite

keith's picture

Re the concatenation of info/dir files:

More recent versions of the distributed packages should not even provide the precompiled dir files. These are only useful for users who have an info viewer installed, which basically means those who use MSYS[1].

For those who do use MSYS, you will have both the info viewer, and also the supporting makeinfo and install-info tools; the correct way to build the dir file is to run each of the supplied *.info files through install-info:

cd info;
for file in *.info; do install-info $file dir; done

[1] Yes, I know GnuWin32 also provides an info package; last time I looked, their viewer didn't work. Cygwin also has it, and that works, but uses the dir files installed in the Cygwin tree. It is possible that an alternative native implementation is available elsewhere; if so, it should also provide an install-info tool.

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.