MinGW Download – MinGW is a contraction of “Minimalist GNU for Windows”, is a minimalist development environment for native Microsoft Windows applications. This app is registered trademark of Software in the Public Interest Inc., registration number 86017856; it has been registered on behalf of MinGW.org, and its use by any other project is unauthorized.
What is MinGW-w64
MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs. (It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most notable among these is MSVCRT.DLL, the Microsoft C runtime library. Additionally, threaded applications must ship with a freely distributable thread support DLL, provided as part of MinGW itself).
The MinGW-w64 project is a complete run-time environment for GCC to support binaries native to Windows 64-bit and 32-bit operating systems.
Features of MinGW-w64
- Compiler tool-chain hosts natively
- Supports Native TLS Callbacks
- Supports Wide-Character Startup (-municode)
- Supports 32-bit and 64-bit Windows i386/x64
- Supports Multi-lib tool-chains
- Supports bleeding edge gcc/binutils
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.
Download MinGW-w64 for PC
|File Size||938 KB|
|Developer||MinGW Project – Original author: Colin Peters|
|Update||Sept, 17th 2018|
|Requirement||Windows 7, 8, 10 32-bit/64-bit|
MinGW-64 Download Alternative
MinGW-w64 Version 6 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ö
How To Install MinGW-w64 on Windows 10
If you are new to MinGW, see the MinGW Getting Started instructions to use the automated GUI or manual CLI (Command Line Interface) installers. What follows below are instructions for a very “manual” download, typically only attempted by more experienced users.
Before you start this manual installation, read the release notes (at the bottom of the page).
- Determine which files below you need and download them.
- Extract the files into a directory such as C:\MinGW
- Add C:\MinGW\bin; to the PATH environment variable.
You will need a program that can extract .tar.lzma files, such as 7-Zip or one that provides command-line tar and lzma tools. A basic standalone tar program that includes lzma support is available from the MinGW project and is called bsdtar.
You must add C:\MinGW\bin; to your user PATH environment variable manually. You can permanently add C:\MinGW\bin; to your PATH by following the instructions in the “Environment Settings” section on the MinGW Getting Started page.
The resulting C:\MinGW subtree is fully relocatable which means that you can have multiple installations or versions of the MinGW suite. You can potentially have installations such as:
C:\MinGW-3.4.5 C:\MinGW-4.8.1 etc.
Switching between these is merely a matter of renaming any particular directory to C:\MinGW.
Files To Get
Download at least the following (or newer) packages from the MinGW Download Page. Where two or more component packages are indicated, you need both / all of them.
- binutils (bin)
- mingw-runtime (dev and dll)
- Required runtime libraries for GCC:
- gcc-core (bin and dev and dll)
The above are the minimum requirements for a working C Language compiler using the MinGW GCC toolchain. The support libraries (mpc, mpfr, and gmp) provide also “dev” packages, but those are only needed if you want to link your program against those libraries. (You do need the “dev” package for pthreads, since link commands that use -pthread need to link against this library.) Likewise, the binutils package provides a “dev” package that includes libraries, such as libiberty.a and libbfd.a, and the corresponding headers; you may wish to install those if you want to develop programs that are linked against those libraries. If you don’t find the linker scripts in the binutils “bin” package, they might be in the “dev” package.
You can also add one or more of the following optional compilers or tools. For each you choose to install, you need all three of the bin, the dev and the dll component packages:
- gcc-c++ (bin and dev and dll) for C++
- gcc-objc (bin and dev and dll) for Objective C
- gcc-fortran (bin and dev and dll) for Fortran 90/95
- gcc-java (not yet available) for Java
- gcc-ada (bin and dev and dll) for Ada
Note that the GCC versions of these files must match the GCC version of the gcc-core installed.
You can also add the following additional utilities:
- mingw-gdb and libexpat for debugger
- mingw32-make for make
- mingw-utils for MinGW Utilities
- msysDTK for Unix-style developer toolkit
- MSYS for Unix-style commands and shell. (See the MSYS page for installation instructions.)
You may also want the following features:
- translations of gcc, binutils, gdb, and make messages into languages other than English
- documentation for gcc-core, gcc-c++, and gcc-fortran
Getting Updates or Making Changes
Updating a single package (e.g. when there is a new version of w32api) can be done by extracting the new version to C:\MinGW to overwrite the older version. This manual update also works with an initial automated install.