🌐
mingw-w64
mingw-w64.org
mingw-w64
Mingw-w64 is a collection of header files, import libraries, libraries and tools that, when combined with a compiler toolchain, such as GCC or LLVM, provides a complete development environment for building native Windows applications and libraries.
Source Code
A complete runtime environment for GCC & LLVM for 32-bit (x86), 64-bit (x64), and ARM64 Windows
Pre-built Toolchains
A complete runtime environment for GCC & LLVM for 32-bit (x86), 64-bit (x64), and ARM64 Windows
Changelog
A complete runtime environment for GCC & LLVM for 32-bit (x86), 64-bit (x64), and ARM64 Windows
Windows / MSYS2 (GCC)
A complete runtime environment for GCC & LLVM for 32-bit (x86), 64-bit (x64), and ARM64 Windows
implementation of the GNU toolchain for Windows, 32-bit version; see also Mingw-w64
MinGW GCC For M68K
MinGW ("Minimalist GNU for Windows") is a compiler toolchain for creating native Microsoft Windows applications. It provides a port of the GNU Compiler Collection (GCC) and related tools that generate executables targeting … Wikipedia
Factsheet
Developer MinGW Project
Initial release 1998; 28 years ago (1998)
Operating system Microsoft Windows
Factsheet
Developer MinGW Project
Initial release 1998; 28 years ago (1998)
Operating system Microsoft Windows
🌐
Reddit
reddit.com β€Ί r/cpp_questions β€Ί what is mingw, why there is a lot of compilers and why this is so confusing?
r/cpp_questions on Reddit: What is MinGW, why there is a lot of compilers and why this is so confusing?
November 6, 2023 -

I am interested in learning to program in C++. I have noticed that it requires a compiler, but there are a lot of options available, which confuses me a little. I have heard about MinGW, but I find it difficult to determine which page to download it from, as there are several options such as winlibs, sourceforge, and mingw-w64.org, and I am not sure which one is the official one. Furthermore, once on the mingw-w64 page, I find that there are multiple versions such as Cygwin, LLVM-MinGW, w64devkit, MingW-W64-builds, MSYS2, and WinLibs.com, which further complicates my decision. I wonder why there isn't a standard official compiler to avoid this confusion and what exactly MinGW is, and how the available compilers such as GCC or Clang differ. I would appreciate any guidance on which one to choose and please excuse my lack of knowledge on the subject.

Top answer
1 of 16
42
MinGW is an effort to port GNU tools, including particularly the gcc compiler suite, to run natively in Windows. There's a lot of history but to get the point, when you see a download like x86_64-13.2.0-release-win32-seh-msvcrt-rt_v11-rev1.7z … the various parts of the name indicate: x86_64 = 64 bit. That's what you want. In contrast, just x86 or i686 means 32-bit. 13.3.0 = version number. I believe that as of this writing that's the latest 'n greatest. release, well who knows. Might mean that this is an official release. Or might be in contrast to a "debug" version. win32 = it's for Windows, yay! Including 64-bit Windows. The super-misleading "32" is Microsoft's fault. seh = uses Windows' Structured Exception Handling to implement C++ try-throw-catch. msvcrt = the runtime library, here Microsoft's msvcrt.dll which is bundled with Windows. An alternative is the newer ucrt.dll, where the "u" stands for "universal". I know the former works well, not sure about the latter. As others have mentioned you can/should install the Visual Studio IDE in order to Get "Hello, world!" up and running. Debug things (its got a nice debugger). However, you should better also work in the command line in order to learn about compiling and linking and resources and input redirection and pipes and environment variables and current directory and much more. You can use the Visual C++ compiler from the command line via command cl, I believe at once backwards short for Lattice C, which was the compiler MS once bought and based their compiler on. After installing VS you can find "x64 Native Tools Command Prompt for VS 2022" in the Start menu's apps listing. You can use that to invoke cl, but do consider first installing Windows Terminal and making that your default console environment. Personally I instead use a little batch file to set up the requisite environment variables for Visual C++, like this: @echo off call "%VS-ROOT%\VC\Auxiliary\Build\vcvars64.bat" %* set CL=^ /nologo /utf-8 /EHsc /GR /permissive- /std:c++17 /Zc:__cplusplus /Zc:externC- /W4 /wd4459 ^ /D _CRT_SECURE_NO_WARNINGS=1 /D _STL_SECURE_NO_WARNINGS=1 The corresponding batch file for MinGW g++ is simpler: @echo off set op=%path% set path=c:\root\installed\MinGW\Nuwen 11-2-0\bin;%op% It's generally a good idea to use two different compilers, such as Visual C++ and g++, mainly because when one compiler's diagnostics get completely ungrokable, the other compiler can give at least a hint about what the problem is. Another reason is that compilers differ in their standards-conformance. When some code compiles cleanly with at least two compilers that have been told to be as conforming as possible, you can have better confidence that the code is valid standard C++.
2 of 16
17
Someone reset the counter. Forget MinGW. Download the free Visual Studio Community Edition (not Code).
🌐
SourceForge
sourceforge.net β€Ί projects β€Ί mingw-w64
MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net
1 month ago - Download MinGW-w64 - for 32 and 64 bit Windows for free. A complete runtime environment for gcc. The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems.
🌐
Copperspice
copperspice.com β€Ί documentation-mingw.html
Installing MinGW-w64
The CopperSpice MinGW-w64 distribution includes the GCC compiler for Windows, Autotools build system, and the majority of POSIX utilities used by developers.
🌐
Visual Studio Code
code.visualstudio.com β€Ί docs β€Ί cpp β€Ί config-mingw
Using GCC with MinGW
November 3, 2021 - In this tutorial, you configure Visual Studio Code to use the GCC C++ compiler (g++) and GDB debugger from mingw-w64 to create programs that run on Windows.
🌐
Reddit
reddit.com β€Ί r/cpp_questions β€Ί mingw-w64 - for 32 and 64 bit windows installer not available
r/cpp_questions on Reddit: MinGW-w64 - for 32 and 64 bit Windows installer not available
August 13, 2024 -

Hi,

Is anyone else experiencing problems to download the above from sourceforge: https://sourceforge.net/projects/mingw-w64/.

The documents I follow all state that the downloaded file should be an exe but in this case I download a zip with source documents.

Under Files I found the installer (mingw-w64-install.exe) but after it starts it return an error that requirments.txt cannot be downloaded.

Find elsewhere
🌐
Reddit
reddit.com β€Ί r/cpp_questions β€Ί how does mingw-w64 work
r/cpp_questions on Reddit: how does mingw-w64 work
January 8, 2024 -

smile cautious selective languid elderly crown six quack future fall

This post was mass deleted and anonymized with Redact

Top answer
1 of 6
11
I used MSVC up until I decided to use g++ instead. But why? learned that there is an operating system called gnu which has a bunch of tools. Its not an OS though. GNU is "simply" a collection of tools, primarily developed for linux. Here is my first question, can the tools be separately built for windows? Yes. That is what "MinGW" is. Its the "minimal GNU for Windows". ut then why is mingw also in cygwin? Having a linux compiler doesnt really do much for you on windows. Hence you use the compiler made/ported for windows. mingw it says that "it is not the home of gcc" and you need something else that has mingw and gcc in it in order to use it? Why is that? Well, I am not even sure what exactly you are downloading. There are multiple MinGW versions from multiple source you could download. If you really want, you should use the one from https://nuwen.net/ . Do different operating system require different c++ headerfiles in order to compile with different compiler or something? Yes and no. C++ itself is OS agnostic. But your compiler as well as the standard library are made for one operating system. They need to talk to the OS and use OS specific features after all (e.g. how to print to the console). At the same time, the standard library headers are intricately related to the compiler used. You couldnt use the MS' STL with mingw or the other way around. But this is nothing you should care about. A compiler comes with a standard library that works. Also can someone say the technical stuff about mingw and how did they achieve this? Click on the big red thing, then the blue thing and then type in your credit care info. IDK much about "technical stuff". In the end: You are on windows. You are successfully using MSVC. Why change that? Visual Studio (which I assume you are using) simply works and is easily installed. Because MinGW is a port, you need to do a lot of manual setup and then a lot of manual integration into your editor to make it all work. Why bother?
2 of 6
2
It is a very minimal compiler and portability layer for win32/win64 using msvcrt.dll. Cygwin is a more thorough platform, but mingw should get you whatever you need to build stuff. They basically built a gcc using msvcrt headers, and targeting msvcrt as their runtime. It's a specialized target of gcc for windows, I'm pretty sure it's all upstreamed and in the main repo, passes tests and whatnot, the major issues involved are calling convention (Windows uses pascal calling convention by default for many things), linkage, dlls, syscall interface and some other details. Oh, and it outputs PE32-PE64 instead of elf, though that's largely binutils. Win32 has some ugly quirkiness like farcalls and such, win64 dropped most of them, but I think there still has to be support.
🌐
Wikipedia
en.wikipedia.org β€Ί wiki β€Ί MinGW
MinGW - Wikipedia
2 weeks ago - In 2007, the Mingw-w64 fork was created to add 64-bit Windows support and coverage of newer Windows APIs absent from the original project.
🌐
Wikipedia
en.wikipedia.org β€Ί wiki β€Ί Mingw-w64
Mingw-w64 - Wikipedia
February 13, 2026 - Mingw-w64 is a free and open-source suite of development tools that generate Portable Executable (PE) binaries for Microsoft Windows. It was forked in 2005–2010 from MinGW (Minimalist GNU for Windows). Mingw-w64 includes a build of the GNU Compiler Collection (GCC) targeting the MinGW-w64 ...
🌐
MathWorks
mathworks.com β€Ί matlabcentral β€Ί fileexchange β€Ί 52848-matlab-support-for-mingw-w64-c-c-fortran-compiler
MATLAB Support for MinGW-w64 C/C++/Fortran Compiler - File Exchange - MATLAB Central
January 26, 2026 - MinGW-w64 is a compiler suite for Windows based on the GNU tool chain. It includes a GCC compiler and related tools for compiling C/C++/Fortran applications for Windows. C/C++/Fortran applications compiled with MinGW-w64 GCC can be called from ...
🌐
MSYS2
msys2.org
MSYS2
Despite some of these central parts being based on Cygwin, the main focus of MSYS2 is to provide a build environment for native Windows software and the Cygwin-using parts are kept at a minimum. MSYS2 provides up-to-date native builds for GCC, mingw-w64, CPython, CMake, Meson, OpenSSL, FFmpeg, ...
🌐
Chocolatey
community.chocolatey.org β€Ί packages β€Ί mingw
Chocolatey Software | MinGW-w64 15.2.0
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.
🌐
jon_y
mingw-w64-for-32-and-64-bit-windows.soft112.com
MinGW-w64 - for 32 and 64 bit Windows... Free Download
MinGW-w64 - for 32 and 64 bit Windows - The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems.FeaturesCompiler...
🌐
Lib.rs
lib.rs β€Ί crates β€Ί tyler
Tyler β€” Rust application // Lib.rs
2 weeks ago - Required libraries (prefix: mingw-w64-ucrt-x86_64-):
🌐
Apps112
mingw-w64-for-32-and-64-bit-windows.apps112.com
MinGW-w64 - for 32 and 64 bit Windows - Download
Download MinGW-w64 - for 32 and 64 bit Windows - The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems. Features Compiler toolchain hosts natively Supports Native TLS Callbacks
🌐
SourceForge
sourceforge.net β€Ί home β€Ί open source software β€Ί software development β€Ί compilers β€Ί mingw-w64 - for 32 and 64 bit windows
Download mingw-w64-install.exe (MinGW-w64 - for 32 and 64 bit Windows)
MinGW-w64 - for 32 and 64 bit Windows The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems. 111 Reviews Downloads: 46,314 This Week Last Update: 18 hours ago ... Get notified by email when MinGW-w64 - for 32 ...
🌐
QEMU
qemu.org β€Ί download
Download QEMU - QEMU
Some QEMU related tools can be found in separate packages. Please see the MSYS2 mingw-w64-qemu page for more information.
🌐
GitHub
github.com β€Ί rcpacini β€Ί mingw-w64
GitHub - rcpacini/mingw-w64: mingw-w64 installers Β· GitHub
The mingw-w64-install.exe online installer is a minimal application that downloads the correct MingGW architecture version from SourceForge using a file lookup repository.txt here:
Starred by 49 users
Forked by 16 users