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

v6.0.0: 2018-09-17

Notable changes:

  • C++ __cxa_atexit thanks to Martin Storsjö and Liu Hao
  • Massive additions to support UCRT thanks to Martin Storsjö
  • Sync COM interface headers with Wine development thanks to Jacek Caban
  • WinRT additions thanks to Hugo Beauzée-Luyssen
  • ARM32 and ARM64 additions thanks to Martin Storsjö
  • CRT library api-ms-win-core additions thanks to Martin Storsjö
  • CRT library def file reorganization thanks to 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 [db6434]

_FORTIFY_SOURCE: Fix usage of __gnu_inline__.

Zufu Liu created ticket #812

mingw-w64.org certificate has been expired for weeks

LH_Mouse committed [39654e]

headers: _FORTIFY_SOURCE: Print warning if original gets() is called.

LH_Mouse committed [802f86]

header: _FORTIFY_SOURCE: Add _read() and read().

LH_Mouse committed [7d56eb]

include/libloaderapi: update header file

Alan A. Jorgensen, Ph.D. posted a comment on discussion Open Discussion

My context: Acer Desktop with Intel CORE i5 7th Gen processor. Microsoft Windows 10 Version 1809 (OS Build 17763.678) A:>gcc --version gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Attempting: A:>make gcc -v -o Parse.exe Parse.c Using built-in specs. COLLECT_GCC=gcc Target: mingw32 Configured...

Adriano da Silva Rocha posted a comment on ticket #413

Hi, I'm having the same problem. "The file has been downloaded incorrectly!".

Adriano da Silva Rocha posted a comment on ticket #124

I'm actually still struggling with the installer. It just says that the file has been downloaded incorrectly.

Martin Storsjö committed [94efba]

headers: Don't use __gnu_inline__ with __mingw_ovr in C++ mode

LH_Mouse committed [1ebdd6]

Revert "winpthreads/cond.c: Remove waits for `sema_b` from wait functions."