Home of the MinGW, MSYS and mingwPORT Projects
MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.
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).
MinGW compilers provide access to the functionality of the Microsoft C runtime and some language-specific runtimes. MinGW, being Minimalist, does not, and never will, attempt to provide a POSIX runtime environment for POSIX application deployment on MS-Windows. If you want POSIX application deployment on this platform, please consider Cygwin instead.
Primarily intended for use by developers working on the native MS-Windows platform, but also available for cross-hosted use, (see note below -- you may need to follow the "read more" link to see it), MinGW includes:
- A port of the GNU Compiler Collection (GCC), including C, C++, ADA and Fortran compilers;
- GNU Binutils for Windows (assembler, linker, archive manager)
- A graphical and a command-line installer for MinGW and MSYS deployment on MS-Windows
MSYS, a contraction of "Minimal SYStem", is a Bourne Shell command line interpreter system. Offered as an alternative to Microsoft's cmd.exe, this provides a general purpose command line environment, which is particularly suited to use with MinGW, for porting of many Open Source applications to the MS-Windows platform; a light-weight fork of Cygwin-1.3, it includes a small selection of Unix tools, chosen to facilitate that objective, and using it is a necessary prerequisite for building mingwPORTs.
mingwPORTs are user contributed additions to the MinGW software collection. Rather than providing these "add-ons" as precompiled binary packages, they are supplied in the form of interactive Bourne shell scripts, which guide the end user through the process of automatically downloading and patching original source code, then building and installing it. Users who wish to build any application from a mingwPORT must first install both MinGW and MSYS.
Project Mailing Lists
Several project affiliated Mailing Lists are available, which you are encouraged to join, and in which you are invited to participate. In particular, there is a general discussion list, email@example.com, for general questions: please use it; do not create wiki pages, or add comments to wiki pages, to ask questions. Information for sign-up, and links to the archives can be found on the mailing lists page. You may search the archives using the "Mail List Search" form found on the right hand side of every http://www.mingw.org page.
Using MinGW for Cross-Hosted Development
While MinGW provides tools primarily intended for use by developers working on the MS-Windows platform, many developers choose to run cross-compiler variants of the MinGW tools, on platforms such as GNU/Linux, to generate applications for deployment on MS-Windows. To facilitate this development model, many Linux distributors provide the necessary cross-compiler tools, derived from the MinGW tool chains; such cross-compiler tool chains are not directly supported by MinGW.org, although we may be able to help out with advice related to the specifics of MS-Windows applications development, common to the use of our own native tool chains and to such cross-compilers.
For those who would prefer to use a cross-compiler tool chain which is supported by MinGW.org, we do provide a set of interactive shell scripts, which will guide you through the process of building a suitable cross-compiler tool suite directly from our sources. However, please be advised that, due to limited manpower resources, we have been unable to update our offering of such scripts to deliver any version of the tool chain which postdates GCC-3.4.5.