MinGW
From Wikipedia, the free encyclopedia
| MinGW | |
|---|---|
| Developer | MinGW project |
| Latest release | 3.4.5 / 20 January 2006 |
| Preview release | 4.2.1 / 13 August 2007 |
| OS | Microsoft Windows |
| Genre | Software development |
| License | GNU General Public License |
| Website | http://mingw.org/ |
MinGW is a software port of the GNU toolchain to Microsoft Windows. MinGW includes a set of header files (for the Windows API) which allows developers to use GCC, a free compiler, to create native Windows programs which do not rely on the presence of a runtime emulating Unix-like functionality like programs compiled with the Cygwin port.
The MinGW project maintains and distributes two main packages. The ported GCC compilers can be used from the Windows command line or integrated into an IDE. In addition, MSYS (minimal system) can also be used to provide a lightweight Unix-like shell environment including rxvt and a selection of POSIX tools sufficient to enable autoconf scripts to run.
Both packages were originally forks of the corresponding parts of Cygwin, which provides more comprehensive Unix-like support at the expense of native Windows functionality. Both packages are free software; the Win32 header files are released to the public domain, while the ports of GNU programs are available, naturally, under the GNU General Public License. Binary downloads of both the complete MSYS package and individual MinGW GNU utilities are available from the MinGW site.
Contents |
The name MinGW stands for Minimalist GNU for Windows. MinGW is also referred to as Mingw32 because it provides headers for the Win32 API. No standard has been decided for the pronunciation of MinGW. Common pronunciations include "ming wee", "min gee double-u","ming double-u" or "min gnu".
The combination of MinGW and MSYS provides a small, self-contained environment that can be loaded onto removable media without leaving entries in the registry or files on the computer. By providing more functionality, Cygwin becomes more complicated to install and maintain.
It is also possible to cross-compile applications with MinGW. This means that developers do not need a Windows installation with MSYS to compile software that will run on Windows without Cygwin.
MinGW was a fork of version 1.3.3 of Cygwin. Although both Cygwin and MinGW are used to port Unix software to Windows, they have different approaches: Cygwin aims to provide a complete POSIX layer (similar to that found in a Linux or other Unix systems) on top of Windows, sacrificing performance where necessary for compatibility, while MinGW aims to provide only a free compiler and toolchain, prioritizing performance.
Unlike Cygwin, MinGW does not require a compatibility layer DLL and its runtime is licensed under a permissive license.
Since MinGW does not provide a POSIX API, it is unable to compile some Unix applications that can be compiled with Cygwin. Specifically, this applies to applications that require specific POSIX functionality and those that expect to be run in a POSIX environment. Applications written using platform-independent libraries, such as SDL, wxWidgets, Qt, or GTK+ will usually compile as easily in MinGW as they would in Cygwin.