Official Mingw-w64 and Friends Maintained Downloads - Page 1
Mingw-w64 crt & all-platform Win64 Target Binaries

 

Skip to the binary downloads

The binaries hosted here are maintained, tested, packaged, and built with a full mathlib and auxillarly toolchain, including all languages, and all functional gcc libraries, unlike anywhere else, and in some cases (preferrably) use shared (DLL) backend and gcc libraries. They are also all capable of 32-bit output by using multilib, passing -m32 to gcc, even WPG System64. They are officially "alternate" configurations, because of those differences. Users should report any bugs, the binaries should work as if stable. GCC Library sets are posted separately, and you will find the backend libraries and other tools below and on Page 2.

News 20091029: The first 100% official final release of the Mingw-w64 import crt is out as release 1.0. It is from the new branch, that Cadforte released a preview for (branched from revision 1424) on 20090917. Prior to this release, Cadforte had unofficially and independently declared revision 1103 (source and binaries) of the Mingw-w64 crt as Stable. You should now consider it deprecated to the new final release 1.0 (source and binaries). The latest experimental trunk version is posted below as well. As for updating the downloads, go ahead and use the Cadforte Mingw-w64 binaries, just update the crt and download/update any optional gcc libraries you want. They will serve you just fine.

If you have 64-bit Windows, our WPG System64 Project contains both gcc 4.4.2 (branch) and 4.5.0 trunk toolchains, kept very up-to-date, and is strongly recommended.

Sources and Mingw-w64 crt Release Notes:

To build the entire toolchain from source follow the build instructions. You can get the latest Binutils here and latest GCC trunk here, or as described in the build instructions. Sources are snapshot tarballs of SVN-pulled entire root source tree. They contain SVN metadata and auxillary experimental branch. Full release notes with histories further back are available on the Mingw-w64 Category Wiki page.

NEW Official Final Release 1.0: Mingw-w64 CRT, official 1.0 stable branch final release. Includes experimental branch from current trunk.

A truly superb import crt solution for all your 32-bit and 64-bit Windows gcc/compiling needs. This is a branch release, any further releases from it will be bug fixing only, all further new development lies with the experimental trunk, available below.

As for what's new, more or less everything that was in motion has been taken to a stable conclusion. Time_t is finally done. There was a new big fix for the Intrinsic interlock. Updates were made to the .def files, which still do need motion in Win32 but the remaining is only cosmetic. For more history see the Wiki Category Page.

A build system for the headers has been introduced, but its status is uncertain. To be safe, don't use it with this release, just copy (cp), or "svn export" more properly, the headers as normal.

Latest Experimental Trunk: Mingw-w64 import CRT, 20091108 r1516

This is where the Mingw-w64 import crt will continue to grow, as trunk. There is continuing growth for VC compatibility and evolving build engines, with a library set that has grown to be huge. The 64-bit libraries/objects number 2,071 with a size of 81MB. Needless to say, Mingw-w64 has set the sky as the limit.

(Old) Official Stable Branch 1.0 Pre-Release: Mingw-w64 import crt, official 1.0 stable branch pre-release (Revision 1424, see the Mingw-w64 Category Wiki Page for old notes.)

(Old) Unofficially Stable Release (pre-official-release): Mingw-w64 import crt 20090731 r1103. This has been used to build hundreds of libraries and apps using Autotools (POSIX) with/for WPG System64. (see the Mingw-w64 Category Wiki Page for old notes.)

 

Source and Binary General Notes:

There has been a stable release of Binutils from 2.19.51, and it is 2.19.92+. It is suggested you use it if using gcc 4.4.x. The new experimental version is 2.20.51, and it is suggested you is it if using gcc 4.5.0.

Note that Binutils 2.20.51 is not really a version at all. It is silently updated by date (which is visible on the ftp server, at least.) The older stable release is 2.19.1.

GCC 4.5.0 offers more functionality than GCC 4.4.x, including the use of the -w64- part of our triplet that allows us to have code independent of the original Mingw32, and multilib, libffi, boehm-gc, but it is still in Stage 1 and you can expect bugs (but is also very stable for a more or less alpha release.) Now that GCC 4.4.2 is released (4.4.0 had some issues), we will be hosting those binaries as well. The gcc 4.4.2 library binaries are already hosted below.

While there are now binary distributions, building from source is still strongly encouraged, unless you want to use the extensive 64-bit development package WPG System64. See notes above for sources and instructions to build from source. Xenofears [I] am responsible for maintaining these distributions and you should notify me immediately of any issues.

For Windows x64 our popular, extensive but simple to use WPG System64 Project is highly recommended!

 

Binaries:

Platform-Specific Binutils, GCC, Toolchain, and crt suitable for your platform and sysroot configuration:

(Scroll Below for Extra All-Platform Libraries and Toolchains!)

Windows: GCC 4.5.0: Cygwin i686, MSys i686, x86_64 MSys or Native

Linux: GCC 4.5.0: Linux i686, Linux x86_64
NEW Official Mingw-w64 Stable Branch Release 1.0 crt: MSys, All other Platforms
NEW Mingw-w64 Experimental Trunk crt: MSys, All other Platforms
(Old) Official Mingw-w64 Stable Branch Pre-Release 1.0 crt: All Platforms, see notes
(Old) Unofficial Cadforte-Declared Stable crt: Release i1103 (20090731)
(Old) crt-only Releases: Release i997 (20090705) (GCC 4.5 r149018+), release i957 (20090624), release i1036 (20090724)

All-Platform crt notes:

This has been taken care of in the latest release, ignore it. You should read this anyway for your better understanding.

The directory 'x86_64-w64-mingw32' needs to be placed in your sysroot, overwriting any old version, or in /usr/local if none. Make sure that you don't erase the x86_64-w64-mingw32/bin or lib directories, as they contain non-Mingw-w64 crt files (ldscripts from Binutils in lib)

If you haven't done so yet, You need to make a couple directory links ("symlinks"), which all *nix platforms and Cygwin support. MSys does not, and the symlinks need to be replaced with copies (other options at the bottom), and MSys's ln will do it for you instead of making the symlink. Symlinks are created with "ln -s <target> <new>".

1) Either lib32 or lib64 -> lib, depending on if you are setup for a 32-bit or 64-bit default. i.e. "cd x86_64-w64-mingw32, ln -s lib lib64".

2) A dir 'mingw' needs to be placed in the sysroot linking to the x86_64-w64-mingw32 directory. This will be a massive copy on MSys. In <sysroot>, "ln -s x86_64-w64-mingw32 mingw".

3) If you need to build gcc, there also needs to be a symlink to your sysroot in the gcc source tree directory called 'winsup'.

If you are using MSys, you can also use /etc/fstab, or NTFS Junction Points (Google NTFS Link.)

 

All Platforms: GCC Libraries:

For any platform, whether compiling natively or using a cross-compiler (i.e. Cygwin, any Linux,) these libraries are the same, because the target is the same: x86_64-w64-mingw32. Tools for use by x86_64-w64-mingw32 target builds are also the same as the target. The GCC libraries are all also Multilib i686-w64-mingw32 Alternate Target. New The libraries have been stripped of useless debugging information, greatly benefitting their size, some several times over.

While we distribute built libraries with gcc platform downloads, and using --enable-version-specific-runtime-libs now, many of these libraries may not be included with the gcc platform downloads. Especially if you want to use gcc 4.4.x and 4.5.0 to a single sysroot, you should download the full libraries here. Extract to your root directory, the sysroot is /usr/system64, but they may be moved (perhaps with libtool naggings.)

Included in 4.4.2: Libgcc (DLL only), Libssp, Libgfortran, Libsupc++, Libstdc++, Libobjc, Libgomp
All shared & static, 32-bit versions are included, but gcc 4.4.x does not support multilib for mingw targets. The libraries may be used with gcc 4.4.1, just move them.

Included in 4.5.0: Libgcc (DLL only), Libssp, Libgfortran, Libsupc++, Libstdc++ (including optimized version default), Libobjc, Libgomp, Libffi, Libcord, Libgc, Libobjc_gc, Libgcjgc, Libada
All shared & static, 32-bit multilib

NEW GCC 4.5.0 Libraries (r151224, Shared-Default, Static Alongside)

NEW GCC 4.4.2 Libraries (r151489, Shared-Default, Static Alongside)

Old GCC 4.4.1 Release Libraries

Quick Libgcc (gcc 4.5.0) DLL Links (refer note below): libgcc_s_sjlj-1.dll (64-bit), Libgcc_s_sjlj-1.dll (32-bit). (Unstripped)
Misc Auxillary Libraries (Shared), Misc Auxillary Libraries (Static)
Gettext 0.13 / Libintl, Libiconv 1.13, Pthreads [GC2], Libbfd / Libopcodes / Libiberty

Release Notes:

Shared = DLL, dynamic linking and dependencies.

If static libraries are present, they are usually used by default, so in the shared default library packages, they have been removed, and are placed in a separate dir in the tarball.

version-specific-runtime-libs has been used for these releases. This is a profound change, making *everything* (except libexec) be placed in <sysroot>/lib/gcc/x86_64-w64-mingw32/. It allows for both 4.4.1 and 4.5.0 to be installed to the same sysroot. The library runtime DLLs are placed in <sysroot>/lib/gcc/x86_64-w64-mingw32/bin, and for gcc 4.5.0 they are in <sysroot>/lib/gcc/x86_64-w64-mingw32/bin-4.5.0 (I did this to allow for version-specific-runtime-libs to do what it is supposed to.) Multilib binaries are in <sysroot>/lib/gcc/x86_64-w64-mingw32/x.x.x/bin, where x.x.x indicates the gcc version. Both directories need to be added to your path. If you want to actually use two gcc versions in the same sysroot, or if you want to use an existing sysroot that has gcc in it, see the Wiki Entry.

Important Release & General Libgcc DLL Note:

Unfortunately Shared Libgcc (libgcc_s_sjlj-1.dll) does not have an implib or .la file, and mutilib use is an open issue with gcc. Right now if you are building multilib (automatic in 64-bit environment) you will wind up with a 32-bit incompatible libgcc_s_sjlj-1.dll (which is reported as libgcc_s_sjlj-1.dll not found.) With the new version-specific-runtime-libs, you just need to make sure the 64-bit libgcc_s_sjlj-1.dll (get from build dir/x86_64-w64-mingw32/libgcc/shlib) is in the lib/gcc/x86_64-w64-mingw32/bin or bin-4.5.0 directory, and that they are in your path. For more information and solutions, see the DLL Clash Wiki Entry. Quick DLL links are above.