GCC for Windows 64 & 32 bits
This is an old revision of the document!
The heart of the Mingw-w64 project is headers and support libraries to run the output of GCC on Windows. Since Mingw-w64 is neither the home of GCC nor of binutils, several sets of installation packages which combine them are available.
In addition, the sources are available but most people will want to grab binaries directly..
Version | Host | GCC / Mingw-w64 Version | Languages | Additional Software in Package Manager | |
---|---|---|---|---|---|
![]() |
Arch Linux | 7.1.1/5.0.2 | Ada, C, C++, Fortran, Obj-C, Obj-C++ |
305, full list admesh, agrum, allegro, alure, angleproject, apr, apr-util, aquila, asmjit, assimp, atk, atkmm, blas, boost, boost-python, box2d, bullet, bzip2, c-ares, cairo, cairomm, cal3d, cblas, celt, cgal, chipmunk, clang, clanlib, cmake, cminpack, coin-clp, coin-hg, coin-osi, coin-utils, confuse, corrade, cppnanomsg, cppunit, csfml, curl, d0_blind_id, db, dbus, dbus-glib, dlfcn, dlib, dumb, eigen, enca, enet, expat, f2c, fann, ffmpeg, fftw, flac, flann, fltk, fontconfig, freealut, freeglut, freeimage, freetype, fribidi, ftgl, gc, gconf, gdb, gdbm, gdc, gdk-pixbuf2, gettext, gf2x, giflib, glew, glfw, glib-networking, glib2, glibmm, glm, gmp, gmqcc, gnome-themes-standard, gnutls, goocanvas, gsl, gsm, gst-plugins-base, gst-plugins-good, gstreamer, gtest, gtk2, gtk3, gtkglext, gtkmm, gtkmm3, gtksourceview2, gtksourceview3, harfbuzz, hdf5, hidapi, icu, id3lib, iistaskpanel, ilmbase, intel-tbb, irrlicht, isl, jasper, json-c, json-glib, jsoncpp, kissfft, lame, lapack, lapackpp, lcms, lcms2, levmar, libarchive, libass, libassuan, libbluray, libconfig, libcroco, libcsv, libdvdcss, libdxfrw, libevent, libexif, libffi, libfplll, libftdi, libgcrypt, libgee, libglade, libgnurx, libgpg-error, libgtksourceviewmm2, libharu, libiconv, libidn, libjpeg, libjpeg-turbo, libltdl, libmad, libmariadbclient, libmikmod, libmodbus, libmodplug, libmpc, libmspack, libmysqlclient, libodbc++, libogg, libopencl, libpng, libpqxx, librsvg, libsigc++, libsndfile, libsodium, libsquish, libssh2, libsvm, libtasn1, libtheora, libtiff, libuecc, libunicows, libunistring, libusb, libvidstab, libvorbis, libvpx, libwebp, libxdiff, libxml++, libxml2, libxr, libxslt, libyaml, libzip, llvm-libs, log4c, lua, lua51, lzo2, matio, microhttpd, mini18n, mixmod, mman-win32, mpfr, mruby, msgpack, muparser, nanomsg, nettle, nlopt, nsis, nspr, nvidia-cg-toolkit, oclp, ode, oglimg, oglp, ois, onig, openal, openblas, openblas-lapack, opencl-headers, opencore-amr, openctm, opencv, openexr, openjpeg, openjpeg2, openssl, optpp, opus, orc, pango, pangomm, pcre, pdcurses, physfs, pixman, pkg-config, plibc, polyclipping, poppler, portaudio, postgresql-libs, ppl, proj, protobuf, pthreads, python, python2, qcustomplot-qt5, qhull, qrencode, qscintilla, qsint, qt4, qt4pas, qt5, quazip-qt4, quazip-qt5, qwt, qwt-qt5, qwt5, qxorm, readline, recode, resource, rtmpdump, ruby, schroedinger, sdl, sdl2, serf, sfgui, sfml, smpeg, smpeg2, smtpclient-qt5, soil, sparsehash, speex, spheresim, sqlite, stormlib, taglib, tcl, termcap, tinyxml, tk, tools, tox, unshield, uriparser, utf8-cpp, vala, venom, vtk, wavpack, win-iconv, winpthreads, wxmsw, wxmsw-static, wxmsw2.8, x264, x265, xalan-c, xerces-c, xvidcore, xz, yaml-cpp, yaml-cpp-hg, zeromq, zlib, zziplib |
|
![]() |
Rolling |
Windows ![]() |
5.4.0/5.0.2 | Ada, C, C++, Fortran, Obj-C | 5 (bzip2, libgcrypt, libgpg-error, minizip, xz, zlib) |
![]() |
Debian 7 (Wheezy) | 4.6.3/2.0.3 | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | 2 (gdb, nsis) | |
Debian 8 (Jessie) | 4.9.1/3.2.0 | ||||
Debian 9 (Stretch) | 6.2.1/5.0.0 | 9 (gdb, libassuan, libgcrypt, libgpg-error, libksba, libnpth, nsis, win-iconv, zlib) | |||
![]() |
Fedora 19 | 4.8.1/? | Ada, C, C++, Fortran, Obj-C, Obj-C++ |
149, full list angleproject antlr atk atkmm binutils boost bzip2 cairo cairomm celt051 clucene cppunit curl cximage cxxtest dbus dbus-glib dirac dlfcn eigen3 enchant expat fftw fontconfig freeglut freetype ftplib GConf2 gdb gdbm gdk-pixbuf gettext giflib glew glib2 glibmm24 glib-networking gmp gnutls goocanvas2 gsl gstreamer gstreamer1 gstreamer1-plugins-{base,bad-free} gstreamer-plugins-{base,good} gtk2 gtk3 gtkglext gtkhtml3 gtkmm24 gtkmm30 gtksourceview3 gtkspell3 gtkspellmm30 gtk-vnc harfbuzz hunspell icu jasper lcms lcms2 leptonica libarchive libffi libgcrypt libgeotiff libglade2 libglademm24 libgnurx libgpg-error libgsf libidn libjpeg-turbo libltdl libogg liboil libosinfo libp11 libpng libsigc++20 libsigsegv libsoup libsqlite3x libssh2 libtasn1 libtiff libusbx libvirt libvirt-glib libvorbis libwebp libxml++ libxml2 libxslt libzip llvm matahari nettle nsis openjpeg opensc openssl orc p11-kit pango pangomm pcre pdcurses pixman pkg-config plotmm polyclipping poppler portablexdr postgresql proj qpid-cpp qt qt5 qwt readline sane-backends SDL SDL_image SDL_mixer shapelib sigar spice-gtk spice-protocol sqlite srvany tcl termcap tesseract tk usbredir w64-tools webkitgtk webkitgtk3 wine-gecko win-iconv winpthreads winstorecompat wpcap wxWidgets xerces-c xz zfstream zlib |
|
Mingw-builds | Rolling |
Windows ![]() |
4.8.2/trunk | C, C++ | 4 (gdb, libiconf, python, zlib) |
4.9.2/trunk | |||||
![]() |
Rolling |
Windows ![]() |
7.2.0/trunk | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | many |
![]() |
12.04 Precise Pangolin | 4.6.3/2.0.1 | Ada, C, C++, Fortran, Obj-C, Obj-C++, OCaml | 2 (nsis, gdb) | |
14.04 Trusty Tahr | 4.8.2/3.1.0 | ||||
14.10 Utopic Unicorn | 4.9.1/3.1.0 | ||||
15.04 Vivid Vervet | 4.9.2/3.2.0 | ||||
15.10 Wily Werewolf | 4.9.2/4.0.2 | ||||
16.04 Xenial Xerus | 5.3.1/4.0.4 | 3 (nsis, gdb, zlib) | |||
![]() |
1.5 |
Windows ![]() Linux ![]() |
4.8.3/3.3.0 | C, C++ |
91, full list SDL2, a52dec, atk, binutils, c-ares, ca-certificates, cairo, check, curl, dbus, dejavu-fonts-ttf, djvulibre, efl, elementary, expat, ffmpeg, flac, fontconfig, freetype, fribidi, gcc, gdb, gdk-pixbuf2, gendef, genidl, genpeimg, gettext, giflib, glib-networking, glib2, gmp, gnutls, gperf, gtk+2, harfbuzz, icu4c, jansson, json-c, lame, lcms, lcms2, libao, libarchive, libdvdcss, libdvdnav, libdvdread, libffi, libgcrypt, libgpg-error, libid3tag, libjpeg, libmad, libmangle, libmpc, libmpeg2, libogg, libpng, libsigc++, libsndfile, libsoup, libtasn1, libtheora, libtiff, libvorbis, libxml2, libxslt, lua, madplay, make, mingw-w64, mpfr, nettle, openjpeg, openssl, opus, pango, pcre, pixman, pkg-config, qt, sox, sqlite, wget, widl, win-iconv, windows_32, winpthreads, winstorecompat, x264, xz, zlib |
Tarballs for the mingw-w64 sources are hosted on SourceForge. The latest version from the 5.x series is 5.0.3. The latest version from the 4.x series is 4.0.6. The latest version from the 3.x series is 3.3.0. Winpthreads has been merged into the main tarball as of 3.1.0.
The old wiki has instructions for building native and cross toolchains.
Details on how to get the mingw-w64 code from Git and an Git-web viewer are available on SourceForge.
The existing Darwin binaries have been built through buildbot in 2013 and links to them can be found on the dedicated page.
The OpenSUSE Linux distribution also has a large and well-maintained set of packages for cross-compilation.
Rubenvb has built a number of toolchains including some for less common setups. They are split into two categories: toolchains targeting Win32 or Win64.
GCC with the MCF thread model is a series of x86 and x64 native toolchains built by LH_Mouse. The MCF thread model involves the mcfgthread library to provide minimum yet complete C++11 thread support. Disregarding POSIX or Windows XP compatibility, it implements (hopefully the most) efficient mutexes and condition variables that are competitive with even native slim reader/write (SRW) locks and condition variables since Windows Vista.
A very large number of other binaries and sources are hosted in the File Release System on Sourceforge which might have what you are after.