GCC for Windows 64 & 32 bits


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 7 has been released

v7.0.0: 2019-11-10

Notable changes:

  • _FORTIFY_SOURCE support thanks to Christian Franke.
  • Lots of math fixes from Martin Storsjö.
  • Many headers updated from Wine by Jacek Caban.
  • UCRT support by Martin Storsjö.
And many other additions thanks to, but not limited to (in Alphabetical order)

You can also look at the full list of versions.

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.

Friend projects

Mingw-w64 interacts a lot with other projects in order to help everyone move forward. Contributions have been going to and coming from these projects:

Most Recent Activity

Martin Storsjö committed [743684]

headers: Fix a use of WINAPI_FAMILY_PARTITION in fileapi.h

Martin Storsjö committed [d642e2]

fileapi: GetTempPath is available in desktop and app targets

LH_Mouse committed [784f34]

crt: update micore.mri

Lukasz posted a comment on ticket #481

Hello, I am experiencing this bug in mingw 7.3.0 64-bit too.

Dan Myers posted a comment on discussion Help

Any chance there are plans to update the headers to the latest version MSXML 6.0? If not, is there something I can do to get a copy of it and put it in the include folder?

NightStrike posted a comment on discussion Help

On Tue, Dec 10, 2019, 8:30 PM Matthew Elmer mcmuffin6o@users.sourceforge.net wrote: Kai, Good news! Static linking seemed to work. Out of curiosity, could you maybe explain why? Also, how would I provide the missing library? Thanks so much!! https://cs-fundamentals.com/tech-interview/c/difference-between-static-and-dynamic-linking.php You provide the dll to your users by copying it from your cygwin installation path and putting it in the same directory as the executable they need to run. Windows...

LH_Mouse committed [9da214]

crt/d3d11: update d3d11 library

LH_Mouse committed [9942b3]

crt: Regenerate Makefile.in

Jacek Caban committed [02aa03]

mshtml.idl: Correctly import dxgitype.idl.

Martin Storsjö committed [c27765]

crt: Split out the __cxa_atexit and __cxa_thread_atexit entry points to separate files