MinGW
From Free net encyclopedia
MinGW or Mingw32 (Minimalist GNU for Windows) is a software port of the GNU toolchain to the Win32 platform. It was originally a fork of Cygwin (version 1.3.3).
MinGW includes a set of Windows header files (W32API) for native Win32 development.
Contents |
MSYS
MinGW is often used together with MSYS (Minimal SYStem), another package based on Cygwin that provides a lightweight shell environment supporting enough POSIX functionality to enable configure scripts to run.
It is also possible to use MSYS by itself as a replacement for the built-in Windows shell.
MinGW vs. Cygwin
It is hard to compare the two directly, since their goals are somewhat different: Cygwin aims to provide a complete POSIX layer (similar to that found in a Linux or other Unix system) on top of Windows, sacrificing performance where necessary for compatibilty, while MinGW aims to provide only a free compiler and toolchain, prioritizing performance. Both are used to port Unix software to Windows, however.
Unlike Cygwin, MinGW does not require a compatibility layer DLL, nor does its license require that applications developed with it are released under a free software license (the license is non-copyleft).
The combination of MinGW and MSYS provides a small, self-contained environment that can be loaded on to removable media without leaving entries in the registry or leaving files on the computer. Cygwin includes more functionality, but is more complicated to install and maintain.
Since MinGW does not provide a POSIX API, it is unable to compile many Unix applications that can be compiled with Cygwin. This is not so great a disadvantage as it may sound, since it only applies to applications that require specific POSIX functionality, or expect to be run in a POSIX environment. Applications written using platform-independent libraries, such as SDL, wxWidgets, or Qt, will usually compile as easily in MinGW as in Cygwin.
Library development
MinGW can be used to develop DLLs which can later be used in Microsoft Visual Studio projects. This does however require the Microsoft LIB.EXE library manager, and LINK.EXE linker to create LIB-files, both of which are bundled with Visual Studio.
Add the following line to the top of C:\msys\1.0\msys.bat to gain access to LIB and LINK (Visual Studio 2003):
- call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vcvars32.bat"
DLL-files are created by using the -shared, --output-def and --out-implib paremeters when compiling with gcc, as shown in the MinGW FAQ.
Pronunciation
No standard has been decided for the pronunciation of MinGW. Common pronunciations include "ming wee", "min gee double-u"Template:Ref, "ming double-u"Template:Ref or "min gnu".
xmingw
xmingw is a port of mingw to Linux, mainly used to crosscompile Windows programs on Linux.
See also
Notes
- Template:Note Earnie Boyd - "Re: How do you pronounce MinGW?", December 18, 2002 post on mingw-users mailing list.
- Template:Note Soren Andersen - "Re: How do you pronounce MinGW?", December 18, 2002 post on mingw-users mailing list.