🌐
SourceForge
sourceforge.net β€Ί projects β€Ί mingw
MinGW - Minimalist GNU for Windows download | SourceForge.net
MinGW: A native Windows port of the GNU Compiler Collection (GCC), with freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality.
Rating: 4.3 ​ - ​ 223 votes
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
Ratings
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
🌐
mingw-w64
mingw-w64.org
mingw-w64
Mingw-w64 is an advancement of the original mingw.org project, which was created to support the GCC compiler on Windows systems. It was forked in 2007 in order to provide 64-bit support and newer APIs.
Discussions

What is MinGW, why there is a lot of compilers and why this is so confusing?
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++. More on reddit.com
🌐 r/cpp_questions
76
77
November 6, 2023
windows - How to compile C program on command line using MinGW? - Stack Overflow
What command does one have to enter at the command line in Windows 7 to compile a basic C program? Like I am literally wondering what you type in the command prompt, to compile a .c file. I tried... More on stackoverflow.com
🌐 stackoverflow.com
How to do the mingw to code in c/c++
If you're wanting to use the GNU Compiler Collection (GCC) C and C++ compilers on Windows, you'll need to go through installing them via MSYS2. Go through this guide on doing so: https://code.visualstudio.com/docs/cpp/config-mingw Update us if you have any questions or issues. More on reddit.com
🌐 r/C_Programming
18
0
November 17, 2024
c - A simple explanation of what is MinGW - Stack Overflow
I'm an avid Python user and it seems that I require MinGW to be installed on my Windows machine to compile some libraries. I'm a little confused about MinGW and GCC. Here's my question (from a real... More on stackoverflow.com
🌐 stackoverflow.com
🌐
Visual Studio Code
code.visualstudio.com β€Ί docs β€Ί cpp β€Ί config-mingw
Using GCC with MinGW
November 3, 2021 - You can install the C/C++ extension by searching for 'C++' in the Extensions view (β‡§βŒ˜X (Windows, Linux Ctrl+Shift+X)). Get the latest version of MinGW-w64 via MSYS2, which provides up-to-date native builds of GCC, MinGW-w64, and other helpful C++ tools and libraries.
🌐
Wikipedia
en.wikipedia.org β€Ί wiki β€Ί MinGW
MinGW - Wikipedia
1 day ago - It provides a port of the GNU Compiler Collection (GCC) and related tools that generate executables targeting the Windows API without requiring a compatibility layer or emulation environment. MinGW was developed to support native Windows development using GNU tools.
🌐
SourceForge
sourceforge.net β€Ί projects β€Ί mingw-w64
MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net
March 26, 2026 - 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.
🌐
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).
🌐
UCI ICS
ics.uci.edu β€Ί ~pattis β€Ί common β€Ί handouts β€Ί mingweclipse β€Ί mingw.html
MinGW C++ Download and Installation Instructions
MinGW means Minimalist GNU for Windows: GNU is a source of open source programming tools (GNU stands for GNU is Not Unix). In this handout you will download the files needed by GNU C++; in the next you will download a version of Eclipse that is already set up to use MinGW.
Find elsewhere
🌐
WinLibs
winlibs.com
WinLibs - GCC+MinGW-w64 compiler for Windows
GCC (GNU Compiler Collection) is a free and open source compiler for C and C++ (and other languages like Objective-C, Fortran, D). MinGW-w64 is a free and open source C library for targetting Windows 32-bit and 64-bit platforms. The combination of these results in a free C/C++ compiler for Windows.
🌐
GeeksforGeeks
geeksforgeeks.org β€Ί c++ β€Ί installing-mingw-tools-for-c-c-and-changing-environment-variable
Installing MinGW Tools for C/C++ and Changing Environment Variable - GeeksforGeeks
July 23, 2025 - MinGW is a native C/C++ compiler(GCC) which have free distributable import libraries and header files for building native Windows applications.
🌐
Coding Lap
codinglap.com β€Ί home β€Ί how to install mingw c/c++ compiler in windows 11
How to Install MinGW C/C++ Compiler in Windows 11 - Coding Lap
November 1, 2025 - MinGW (short for Minimalist GNU for Windows) is an open-source development environment that brings the GNU Compiler Collection (GCC), which includes compilers for C, C++, Fortran, and others to Windows systems.
Top answer
1 of 5
63

MinGW is a complete GCC toolchain (including half a dozen frontends, such as C, C++, Ada, Go, and whatnot) for the Windows platform which compiles for and links to the Windows OS component C Runtime Library in msvcrt.dll. Rather it tries to be minimal (hence the name).

This means, unlike Cygwin, MinGW does not attempt to offer a complete POSIX layer on top of Windows, but on the other hand it does not require you to link with a special compatibility library.
It therefore also does not have any GPL-license implications for the programs you write (notable exception: profiling libraries, but you will not normally distribute those so that does not matter).

The newer MinGW-w64 comes with a roughly 99% complete Windows API binding (excluding ATL and such) including x64 support and experimental ARM implementations. You may occasionally find some exotic constant undefined, but for what 99% of the people use 99% of the time, it just works perfectly well.

You can also use the bigger part of what's in POSIX, as long as it is implemented in some form under Windows. The one major POSIX thing that does not work with MinGW is fork, simply because there is no such thing under Windows (Cygwin goes through a lot of pain to implement it).
There are a few other minor things, but all in all, most things kind of work anyway.

So, in a very very simplified sentence: MinGW(-w64) is a "no-frills compiler thingie" that lets you write native binary executables for Windows, not only in C and C++, but also other languages.

2 of 5
35

To compile C program you need a C implementation for your specific computer.

C implementations consist, basically, of a compiler (its preprocesser and headers) and a library (the ready-made executable code).

On a computer with Windows installed, the library that contains most ready-made executable code is not compatible with gcc compiler ... so to use this compiler in Windows you need a different library: that's where MinGW enters. MinGW provides, among other things, the library(ies) needed for making a C implementation together with gcc.


The Windows library and MSVC together make a different implementation.

🌐
Nuwen
nuwen.net β€Ί mingw.html
MinGW Distro - nuwen.net
Third, open the root of the distro, which is C:\MinGW if you followed my recommendation. There, you'll find two batch files and README_STL.txt . Inside the readme, there are copies of this webpage's Contents and History sections in case you forget which version of the distro you have or what it contains.
🌐
Mingw
mingw.org
MinGW – Minimalist GNU for Windows | AnswerHarbor
MinGW serves as a bridge between the GNU Compiler Collection (GCC) and the Windows operating system, allowing developers to compile C, C++, and other language programs natively on Windows.
🌐
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 ...
🌐
GitHub
gist.github.com β€Ί jacksonrakena β€Ί fd83c781c9175375b8326024ab2964ba
Installing MinGW (GCC C++) and Geany, for ENGR 101 at VUW Β· GitHub
This guide details how to install MinGW, the GNU C/C++ compiler, on a Windows or macOS operating system (clang).
🌐
SourceForge
sourceforge.net β€Ί home β€Ί open source software β€Ί software development β€Ί compilers β€Ί mingw-w64 - for 32 and 64 bit windows
Download mingw-w64-v13.0.0.tar.bz2 (MinGW-w64 - for 32 and 64 bit Windows)
Cloud SQL handles your database ops end to end, so you can focus on your app. ... The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems.
🌐
Softonic
mingw.en.softonic.com β€Ί home β€Ί windows β€Ί development & it
MinGW - Download
October 13, 2025 - This straightforward approach allows ... GCC for PC application development. ... The MinGW environment supports a comprehensive array of programming languages, including C, C++, and Fortran....
Rating: 6.9/10 ​ - ​ 102 votes