mingw-w64

GCC for Windows 64 & 32 bits

Mingw-w64

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.

Tools

  • 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

OJ Reeves created ticket #840
27.05.2020

Obscure issue compiling/linking Windows binaries on Linux

oset jan modified a comment on discussion Help
26.05.2020

Thanks for advice. I have tested it and it works. Not a perfect solution but works. Unluckily '-fleading-underscore' indeed doesn't work. And when comes to dll, thank you as well but it's just 1.6k of code. It meant to be included.

oset jan posted a comment on discussion Help
26.05.2020

Thanks for advice. I have tested it and it works. Not a perfect solution but works. And when comes to dll, thank you as well but it's just 1.6k of code. It meant to be included.

NightStrike posted a comment on discussion Open Discussion
25.05.2020

You should probably include more project details and proposed payout. For reference, good software engineers cost several hundred dollars per hour. On Fri, May 22, 2020, 5:50 PM Panos panos@users.sourceforge.net wrote: Hi, We are looking to port our code to Windows and we have limited experience with MinGW. We are looking for somebody to work on this on a project basis. Email me at panos@netbeez.net MinGW Contractor Needed https://sourceforge.net/p/mingw-w64/discussion/723797/thread/db06be2e79/?limit=25#78af...

LH_Mouse committed [3310d4]
25.05.2020

headers/ntdef.h: add missing symbols from reactos

Kai Tietz posted a comment on discussion Help
25.05.2020

Hello, well, you can build shared libraries exporting symbols without the 32-bit ABI's leading underscore ... see here for reference the ld tool's option for more detail. Nevertheless the import-library for such a shared object (DLL) will contain the leading underscores. You will need to use a definition file to create it, or you can link directly to the DLL ... if you have headers, which properly define the export's calling-convetion. Hope that helps Kai Am So., 24. Mai 2020 um 18:18 Uhr schrieb...

Kai Tietz posted a comment on discussion Help
25.05.2020

Hello, if you want to "convert" a DLL to a static library, there is no easy way but to build it from source. But if you mean to get an import library for an existing DLL, that can be achieved without too much trouble. For the later, use the tool "gendef" to create an ".def" file. See for further details documentation about this tool. You can find it in our repository, or provided by good distributors. Hope this helps Kai Am So., 24. Mai 2020 um 06:15 Uhr schrieb oset jan osetnik@users.sourceforge.net:...

Martin Storsjö committed [96483f]
24.05.2020

headers: Update libloaderapi.h to match winbase.h regarding LoadLibraryA/W

Sam Tansy posted a comment on discussion Help
24.05.2020

I took a look at it and there is no prefixed underscore in assembled object. $ nm md5-test.o md5-fast-x86.o md5-test.o: 00000000 b .bss 00000000 d .data (...) 00000000 t .text U ___main U _calloc (...) 00000000 T _main U _md5_compress ; <- that is what is "expected" in main() 00000000 T _md5_hash U _memcmp (...) md5-fast-x86.o: 00000000 b .bss 00000000 d .data 00000000 t .text 00000000 T md5_compress ; <- that is what is provided in md5-fast-x86.o You could try to add -fleading-underscore as option...

oset jan modified a comment on discussion Help
24.05.2020

Hello. I found this md5 implementation in assembly and tried to test it. So I compiled and got error. So then I tried to compile files separately without linking and it went well but linking thrown error again: $ make md5-test-fast-x86 gcc -c -std=c99 -O2 md5-test.c gcc -c -O1 md5-fast-x86.S gcc -o md5-test-fast-x86 md5-test.o md5-fast-x86.o md5-test.o:md5-test.c:(.text+0x4d): undefined reference to `md5_compress' md5-test.o:md5-test.c:(.text+0xd5): undefined reference to `md5_compress' md5-test.o:md5-test.c:(.text+0x13a):...