MinGW
MinGW | ||||
---|---|---|---|---|
Ontwerper(s) | Colin Peters | |||
Ontwikkelaar(s) | MinGW Project | |||
Uitgebracht | 1 juli 1998 (26 jaar) | |||
Recentste versie | 11.0.1 (29 april 2023)[1] ![]() | |||
Recentste bètaversie | 0.6.2-beta-20131004-1 (4 oktober 2013) ![]() | |||
Status | Actief | |||
Besturingssysteem | Windows | |||
Geschreven in | C++, C | |||
Categorie | Compiler | |||
Licentie(s) | Publiek domein (headers), GNU General Public License (compiler en tools) | |||
Website | (en) MinGW | |||
|
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.
De ontwikkeling van het MinGW-project is geforkt met de oprichting in 2005-2008 van een alternatief project genaamd Mingw-w64.
W32API
[bewerken | brontekst 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 | brontekst 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 | brontekst 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 | brontekst bewerken]Met behulp van de bibliotheken pthreads-win32 (multithreading) en pdcurses (consoleinterface) is het mogelijk om een UNIX-applicatie eenvoudiger te porten naar Windows.