MinGW or “Minimalist GNU for Windows“, formerly mingw32, is a minimalist development environment for native Microsoft Windows applications. It is a distribution of the GNU Compiler Collection (GCC) and GNU Binutils for use in compiling these Windows applications.
MinGW provides a complete set of Open Source Programming tools which are suitable for the development of such applications and aren’t dependent on any third party C Runtime DLLs. MinGW carries a set of freely distributable header files and static import libraries to enable the use of the Windows API.
MinGW can function either as a cross compiler targeting Windows or as a self hosted toolchain which can be run on Windows itself. MinGW compilers provide access to the functionality of the MS C Runtime and some language specific Runtimes.
[advt]MinGW is primarily intended for use by developers working on the native MS-Windows platform, but also available for cross hosted use. MinGW has BSD License, GNU General Public License version 2.0 (GPLv2), GNU General Public License version 3.0 (GPLv3), MIT License and Public Domain Licenses.
MinGW includes a port of the GCC (including C, C++, ADA & FORTRAN compilers), GNU Binutils (assembler, linker, archive manager), a command line installer (mingw-get) & MSYS deployment on MS-Windows, and a GUI wrapper (mingw-get-inst) for the command line installer.
Visit the link to download MinGW.
Using MinGW for Cross Hosted Development
MinGW tools can be also used on platforms such as GNU/Linux to generate applications for deployment on MS-Windows. To facilitate this, MinGW.org provides a set of interactive shell scripts, to guide through the process of building a suitable cross-compiler tool suite from MinGW sources.
GNU Compiler Collection (GCC)
The GCC is a compiler system produced by the GNU Project supporting various programming languages.
GNU Binary Utilities (GNU binutils)
The GNU binutils are a set of programming tools for creating and managing binary programs, object files, libraries, profile data & assembly source code.
A compiler is a set of programs that transforms source code into another computer language.
The Windows API is Microsoft’s core set of APIs available in the MS-Windows OS.
Application Programming Interface (API)
An API specifies how some software components should interact with each other.
A cross compiler is a compiler capable of creating executable code for multiple platforms.
Self Hosting is the use of a computer program as part of the toolchain or OS which produces new versions of the same program. Eg:- a compiler that can compile its own source code.
A Toolchain is a set of linked programming tools that are used to create a product.
Source code is any collection of computer instructions written in computer language.
Minimal System (MSYS)
MSYS is a Bourne Shell command line interpreter system. It’s offered as an alternative to Microsoft’s cmd.exe and is suitable to use with MinGW, for porting of many Open Source applications to the MS-Windows platform.