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

v5.0.3: 2017-11-04

initial Release: 2016-10-19

  • Fixes to the __mingw_printf family of functions.
  • DirectX updates from Wine.
  • Various updates to support Windows 7 and 10.
  • Various header typo fixes.

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

John Mullins posted a comment on ticket #726

Some news: The arithchk executable is working when compiled separately without any flags. So some flag is breaking them. The project builds and runs with tdm-gcc. `Building C object gdtoa/CMakeFiles/arithchk.dir/arithchk.c.obj cd /d C:\DEV\msys32\g33mgw\release\gdtoa && C:\DEV\msys32\mingw32\bin\gcc.exe -DINFNAN_CHECK -DMULTIPLE_THREADS @CMakeFiles/arithchk.dir/includes_C.rsp -ffp-contract=off -fPIE -Wall -Wextra -g -D_DEBUG -D_DEBUG -o CMakeFiles\arithchk.dir\arithchk.c.obj -c C:\DEV\msys32\g33mgw\gdtoa\arithchk.c...

Martin Stumpf posted a comment on ticket #727

Link correction: http://coliru.stacked-crooked.com/a/e4e4c21b32719ca9

Martin Stumpf created ticket #727

Crash during destruction of thread_local objects

John Mullins created ticket #726

Broken 32 bit executables (GZDoom)

orondo jones posted a comment on discussion Open Discussion

I was able to find a solution. It turns out that you have to compile with the flag -fsignaling-nans.

Jacek Caban committed [d7bee3]

Updated imported headers to current Wine version.

mondo freeson posted a comment on discussion Open Discussion

What is the full list of your compilation flags?

Zufu Liu posted a comment on ticket #725

Same result with gcc version 7.3.0 x86_64-posix-seh-rev0.

Sisyphus created ticket #725

strtold() does not parse hexadecimal strings

mark4o created ticket #724

clock_nanosleep() should not fail if time has past