This is an old revision of the document!
Mingw-w64 brings free software toolchains to Windows. It hosts a vibrant community which builds and debugs software for Windows while providing development environment for everyone to use.
It has forked mingw.org in order to move forward and provide 64bit support and support for new APIs and has brought countless improvements since its creation in 2007.
Website is evolving. The website is changing; please forgive us for a small lack of polishing for a few days and please report issues you encounter.
More than a million lines of headers are already there and the count is continuously increasing to stay up-to-date with new versions of Windows.
Mingw-w64 is not a compiler project but a project used with compilers. Of course, for simplicity, many pre-packaged toolchains are available in the Downloads section and several of them come with additional libraries and tools for extra convenience.
All the additional libraries needed to link your code and run it directly on Windows are provided along with libraries like winpthreads which provides support for C++11 threading and winstorecompat, a work-in-progress convenience library to ease conformance with the Windows Store.
In addition to the usual compilers, linkers and debuggers from the toolchain, mingw-w64 provides gendef to generate Visual Studio .def files from a .dll, genidl to generate .idl files from a .dll and widl to compile them.
Version 2.0 focused on expanding Windows Vista/7 API support.
button like 'select all' 'unselect all'
Adding group selection in win-builds
crt: Share odbc32.def between lib64 and libarm32
crt: Regenerate Makefile.in
Compilation/linking fails when compiling with -msse2/msse3/msse4.1/msse4.2
Fixed on master. On i686 -msse2 is not enabled by default, hence MemoryBarrier() is left unexpanded. GCC should have generated a warning about implicit function declaration which was removed in C99, but it doesn't because the function in question is brought in by a system header. An external definition is actually available, so there is neither compiler warnings nor linker errors.
include/winnt.h: involve <emmintrin.h> when attempting to use SSE2
headers: Complete the winnt.h structs/defines for ARM64
Add IDWriteTextAnalyzer1 related declarations on dwrite_1.h
pthread_cond_signal() should never deadlock. However, the attached program uses the POSIX API in a way that is does not guarantee that pthread_cond_signal() wakes up anything. A quote from the POSIX spec (http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_broadcast.html): The pthread_cond_broadcast() or pthread_cond_signal() functions may be called by a thread whether or not it currently owns the mutex that threads calling pthread_cond_wait() or pthread_cond_timedwait() have associated...