GCC for Windows 64 & 32 bits

This is an old revision of the document!


Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.

The development and community are very active and welcoming with new contributors every month and simple installers.

Version 4.0 has been released

  • 32bit ARM thumb software math (Thanks to André Hentschel!).
  • New ftw() support for gcc-5.x support.
  • Experimental printf changes - Ability to print 128bit integers (%I128*) and Decimal Floats (%H, %D), disabled by default. Build the CRT with —-enable-experimental to use.
  • Updated OpenGL 4.5 headers.
  • Better DirectX 11 support.
  • Better Windows 7, 8/8.1 API support.

Headers, Libraries and Runtime

  • More than a million lines of headers are provided, not counting generated ones, and regularly expanded to track new Windows APIs.
  • Everything needed for linking and running your code on Windows.
  • Winpthreads, a pthreads library for C++11 threading support and simple integration with existing project.
  • Winstorecompat, a work-in-progress convenience library that eases conformance with the Windows Store.
  • Better-conforming and faster math support compared to Visual Studio's.


  • gendef: generate Visual Studio .def files from .dll files.
  • genidl: generate .idl files from .dll files.
  • widl: compile .idl files.

Previous Versions


  • Required for GCC 4.8.
  • Much improved floating point math performance.
  • Improved MSVC intrinsics performance.
  • Addition of wide variants in C99 printf and scanf.
  • Partial C1X secure CRT support.
  • Partial MS Secure CRT templates for C++.
  • Vastly improved Windows 7 and 8 win32 API support.
  • POSIX-style Large File Support.
  • Winpthread: new library, pthreads implementation for Windows.
  • Winstorecompat: new library for Windows Store compatibility (WIP).


  • Expanded Windows Vista/7 API support.

Most Recent Activity

Chris posted a comment on ticket #737

This is no longer a bug. Where are you installing mingw from? Use msys2.

LH_Mouse committed [5ace93]

include/cfgmgr32.h: add CM_Get_DevNode_PropertyW

LH_Mouse committed [f62a83]

include/devpkey.h: add device property keys

LH_Mouse committed [4fc998]

include/{cfgmgr32,devpkey}.h: Add a missing `#include <devpropdef.h>`

Andéol Evain posted a comment on ticket #737

We are having the same issue here. Looking forward to see these patches included in a MinGW update.

LH_Mouse committed [1bb9df]

include/winnetwk: Fix oversighted BOOL in function proto

Paul A Bristow posted a comment on discussion Open Discussion

I would also like to continue using MinGW-w64 standalone builds for using GCC on Windows that I use for simulartaneously testing the Boost libraries using GCC and Clang (and MSVC of course) compilers on Windows. So I loudly join this plea for release of recent GCC releases, especially, for me, the most recent GCC 9 that contains important new constexpr code that provides vital improvements to the code that can be done at compile-time, making a massive run-time improvement (that is NO-time ;-) ) to...

LH_Mouse committed [a1b157]

headers: _FORTIFY_SOURCE: Allow to limit level for individual functions.

LH_Mouse committed [775df0]

headers: _FORTIFY_SOURCE: Limit level for functions which work on raw memory.

E.Naumovich posted a comment on discussion Help

My attempts directly link MSVC lib was not successful. But it was many yars ago. So, I used this stuff to convert, and it worked. Later I linked Borland libs directly. How the things going on now, I dont know. lib fromats might be changed. You simply have to try. I'be back in this business in few weeks, so I can share fresh expirience. But likely it will be libs to link dlls.