MinGW

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

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.

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 is niets meer dan een simpele 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 zal veel meer ruimte in beslag nemen en is niet te installeren in omgevingen waar de gebruiker minder systeemrechten heeft.

Het crosscompileren van software[bewerken]

Omdat MinGW gebruik maakt 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

Handige bibliotheken om het porten simpeler te maken[bewerken]

Wanneer je een applicatie naar Windows wilt porten die oorspronkelijk ontwikkeld is voor UNIX systemen, is het aan te raden om pthreads-win32 en pdcurses te installeren. Deze bibliotheken stellen je in staat om multi-threaded en console applicaties makkelijker te porten.

Links naar andere websites[bewerken]