GCC for Windows is provided by two projects currently. They both provide a very own implementation of the Windows SDK (headers and libraries) which is necessary because GCC does not work with Visual Studio files.
The older mingw.org, which @Mat already pointed you to. They provide only a 32-bit compiler, and the latest version is GCC 4.5 as of the time of this writing. See here for the downloads you need:
- Binutils is the linker and resource compiler etc.
- GCC is the compiler, and is split in core and language packages
- GDB is the debugger.
- runtime library is required only for mingw.org
- You might need to download mingw32-make seperately.
- For support, you can try (don't expect friendly replies) [email protected]
The newer mingw-w64, which as the name predicts, also provides a 64-bit variant. I use it and build toolchains with their CRT. Personal and auto builds are found under "Toolchains targetting Win32/64" here. They also provide Linux to Windows cross-compilers. I suggest you try a personal build first, they are more complete. Try mine (rubenvb) for GCC 4.6, or use sezero's for GCC 4.4 and 4.5. Both of us provide 32-bit and 64-bit native toolchains. These packages include everything listed above. For support, send an email to [email protected] or the forum via sourceforge.net.
Both projects have their files listed on sourceforge, and all you have to do is either run the installer (in case of mingw.org) or download a suitable zipped package and extract it (in the case of mingw-w64).
There are a lot of "non-official" toolchain builders, one of the most popular is TDM-GCC. They may use patches that break binary compatibility with official/unpatched toolchains, so be careful using them. It's best to use the official releases (or in the case of mingw-w64, the Personal builds are easier to get started with).
Re the other answer: Cygwin/MSYS != gcc. Using GCC does not require the other. Plain users shouldn't be coimpiling GCC. That process is waaay to involved and time-consuming. Enough binary distributions floating around...