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.2: 2017-03-28

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

Ruslan Garipov posted a comment on ticket #85

Fixed by [cabc42">. Please close the request.

Ruslan Garipov posted a comment on ticket #84

Fixed by [0959b3"> and [3fee81">.

Jacek Caban committed [0959b3]

libuuid.a: Add Windows Animation Manager UUIDs.

Jacek Caban committed [cabc42]

d2d1_1.h: Add declaration of ID2D1Multithread interface.

rfdes posted a comment on discussion Help

Hi - My problem(s) appears to be a favorite trouble spot for many beginners. This has to do with with linking to a .LIB file created with MSVC. I have been using the MingGW32 compiler with Codeblocks and this is my first time trying to do this. I do understand that the issue surrounds the way different compilers handle dll decorations. I see where the MSVC built import library (.lib) uses the stdcall calling convention and the dll/import lib was built using a DEF file as the functions have neither...

Ruslan Garipov posted a comment on ticket #84

Please close the ticket, since it's resolved by [3fee81">. Jacek Caban, thanks for your tips and fixing my patch!

Jacek Caban committed [3fee81]

Add 'Windows Animation Manager' IDL file

Ruslan Garipov committed [51c363]

Add `MFTEnumEx` to import libraries (x86-64, x86)

Lin Sulley posted a comment on discussion Help

Doug, I have found implementations on the web. I haven't got round to testing them yet but should be able to debug them if necessary.

Mike H posted a comment on discussion Open Discussion

Hello again :). This is embarrassing, but I finally find the difference between libpthread.a and libwinpthread.a. They are 99.9%(you could say 100%) identically. The only difference is that libwinpthread.a is more compressed. I tried to compile the winpthread-code with make-command. And then I install it with "make install" command. But if I instead install it with "make install-strip" it will install an a-file without symbols table. With the exact same result as the already installed a-files. So...