MinGW is een port van onder andere de GNU softwareontwikkelingsapplicaties naar het Microsoft Windows-platform. MinGW staat voor "Minimalist GNU for Windows". Het is opgebouwd uit meerdere componenten: GCC, Binutils, MSYS en W32API. Dankzij het gebruik van deze applicaties is het mogelijk om software te ontwikkelen voor het Windows-platform.

MinGW
Ontwerper(s) Colin Peters
Ontwikkelaar(s) MinGW Project
Uitgebracht 1 juli 1998 (25 jaar)
Recentste versie 11.0.1 (29 april 2023)[1] Bewerken op Wikidata
Recentste bètaversie 0.6.2-beta-20131004-1 (4 oktober 2013) Bewerken op Wikidata
Status Actief
Besturingssysteem Microsoft Windows
Geschreven in C++, C
Categorie Compiler
Licentie(s) Publiek domein (headers), GNU General Public License (compiler en tools)
Website (en) MinGW
Portaal  Portaalicoon   Informatica
Vrije software

De ontwikkeling van het MinGW-project is geforkt met de oprichting in 2005-2008 van een alternatief project genaamd Mingw-w64.

W32API bewerken

W32API is een collectie van headerbestanden en archieven (.a-bestanden) die de programmeur in staat stelt om gebruik te maken van standaardfuncties die men tegenkomt in POSIX-conforme systemen, maar ook Windows specifieke functies, waaronder het register en DirectX.

MSYS bewerken

MSYS bestaat uit een POSIX-shell en applicaties zoals GNU Make voor Windows. Deze stelt de ontwikkelaar in staat om bijvoorbeeld applicaties te compileren die gebruikmaken van GNU Autoconf. Het is ook mogelijk om Cygwin hiervoor te gebruiken, maar deze neemt meer ruimte in beslag en is niet te installeren in omgevingen waar de gebruiker minder systeemrechten heeft.

Het crosscompileren van software bewerken

Omdat MinGW gebruikmaakt van GCC en Binutils is het uiteraard ook mogelijk om software te crosscompileren. Crosscompileren houdt in dit geval in dat men onder een ander systeem software voor Windows kan maken (Linux, BSD, Mac OS X, etc.). Er hoeft dus geen fysieke toegang te zijn tot een Windows machine om de software te maken. De software dient uiteraard wel onder Windows getest te worden.

Veel package managers voor Linux en BSD bieden tegenwoordig kant-en-klare pakketten aan waarmee je software kan maken voor Windows. Zo kan je onder Gentoo de dev-util/xmingw-* pakketten installeren. Onder FreeBSD zijn er de devel/mingw32- pakketten.

Pakketten die gebruikmaken van GNU Autoconf zijn daarna simpel te crosscompileren door het volgende te draaien:

./configure—host=mingw32

Eenvoudiger porten via bibliotheken bewerken

Met behulp van de bibliotheken pthreads-win32 (multithreading) en pdcurses (consoleinterface) is het mogelijk om een UNIX-applicatie eenvoudiger te porten naar Windows.

Externe links bewerken