Using the Automated (GUI) Installer

If you are new to MinGW, the recommended way to begin is to download an installer executable from https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780 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.

Cautions

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

or

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

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:

MSYS Installation

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.

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.

I installed using the process BUT this release is quite old. The gcc.gnu.org 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.

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:

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.

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.

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!

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?

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?

=======================

========

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!

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 <http://gnuwin32.sourceforge.net/packages/tar.htm>. Is that causing the problem? What is that file used for? Is it really important?

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.

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.

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:

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:

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.

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 'dir.cc', etc, without crinkling the brow. Thanks for all this, btw...

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.

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.

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.

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 mingw-users@lists.osdn.me list instead.We do not allow creation of comments by anonymous or untrusted users, on any page.&nbsp