Windows 11/10: MinGW installieren – so geht’s

MinGW unter Windows 11/10 installieren: So richten Sie den GCC-Compiler ein, setzen die PATH-Variable und prüfen die Installation per CMD.

Windows 11/10: MinGW installieren – so geht’s

Um MinGW unter Windows 11/10 zu installieren, laden Sie am besten MSYS2 herunter, starten das Terminal „MSYS2 UCRT64“ und führen den Befehl pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain aus. Anschließend tragen Sie den Ordner C:\msys64\ucrt64\bin in die PATH-Umgebungsvariable ein. Danach prüfen Sie mit gcc --version, ob der Compiler läuft.

Alternativ entpacken Sie einfach das fertige WinLibs-Paket. Beide Wege werden hier Schritt für Schritt erklärt.

Was ist MinGW und wofür benötigen Sie es?

MinGW steht für „Minimalist GNU for Windows“. Dahinter steckt eine Sammlung von Werkzeugen, mit denen Sie C- und C++-Programme direkt unter Windows kompilieren. Im Mittelpunkt steht dabei die GNU Compiler Collection (GCC).

Dadurch entstehen echte, native Windows-Programme. Sie benötigen also weder eine virtuelle Maschine noch eine Linux-Umgebung. Zudem ist die komplette Werkzeugkette kostenlos und quelloffen.

Typischerweise setzen Sie MinGW in folgenden Fällen ein:

  • C/C++ lernen, zum Beispiel für Studium, Ausbildung oder Schule
  • Eigene Programme kompilieren, ohne Visual Studio zu installieren
  • Open-Source-Projekte bauen, die auf GCC und Make setzen
  • Editoren und IDEs wie Visual Studio Code, Code::Blocks oder CLion mit einem Compiler versorgen
  • Bibliotheken wie SDL, Qt oder Boost unter Windows nutzen

MinGW, MinGW-w64 und MSYS2: die Unterschiede

Die Begriffe werden häufig verwechselt. Deshalb lohnt sich zunächst ein kurzer Überblick.

  • MinGW (MinGW.org): Das ursprüngliche Projekt. Es unterstützt jedoch nur 32 Bit und gilt inzwischen als veraltet.
  • MinGW-w64: Der moderne Nachfolger. Er unterstützt 32 Bit und 64 Bit und wird außerdem aktiv gepflegt.
  • MSYS2: Eine Softwareverteilung mit Paketmanager (pacman). Sie liefert MinGW-w64, GCC und tausende Bibliotheken stets aktuell aus.
  • WinLibs: Ein fertig gepacktes Archiv mit GCC und MinGW-w64. Es muss lediglich entpackt werden.

Wenn heute von „MinGW installieren“ die Rede ist, ist deshalb fast immer MinGW-w64 gemeint. Das alte MinGW mit dem Programm „mingw-get“ sollten Sie dagegen nicht mehr verwenden.

Ebenso veraltet ist der frühere Online-Installer von SourceForge („mingw-w64-install.exe“). Er liefert nämlich nur eine sehr alte GCC-Version und bricht zudem oft mit Fehlern ab.

UCRT oder MSVCRT: Welche Laufzeit ist richtig?

Beim Download begegnen Ihnen außerdem zwei Laufzeitbibliotheken. Diese Wahl wirkt zunächst kompliziert, ist jedoch schnell erklärt.

  • UCRT (Universal C Runtime): Die moderne Laufzeit von Microsoft. Sie ist in Windows 10 und Windows 11 bereits enthalten und unterstützt zudem UTF-8 besser.
  • MSVCRT: Die ältere Laufzeit. Sie ist hauptsächlich für sehr alte Windows-Versionen gedacht.

Für Windows 11/10 wählen Sie daher immer UCRT. Auch das MinGW-w64-Projekt selbst empfiehlt in seiner Anleitung die UCRT64-Umgebung von MSYS2.

Voraussetzungen für die Installation

Bevor Sie beginnen, prüfen Sie kurz die folgenden Punkte. Dadurch vermeiden Sie spätere Fehlermeldungen.

  • Betriebssystem: Windows 11 oder Windows 10 in der 64-Bit-Version
  • Speicherplatz: mindestens 2 GB frei, besser jedoch 5 GB
  • Internetverbindung: für den Download der Pakete
  • Benutzerrechte: Administratorrechte sind nur für systemweite Einstellungen nötig
  • Installationspfad: ein kurzer Pfad ohne Leerzeichen und Umlaute, zum Beispiel C:\msys64

Ob Ihr System mit 64 Bit arbeitet, sehen Sie unter Einstellungen > System > Info. Dort steht außerdem der Eintrag „Systemtyp“.

Beachten Sie zudem: Der reguläre Support für Windows 10 endete im Oktober 2025. MinGW funktioniert dort jedoch weiterhin problemlos. Die Schritte sind in beiden Systemen nahezu identisch.

Welche Installationsmethode passt zu Ihnen?

Es gibt mehrere Wege, MinGW-w64 einzurichten. Die folgende Übersicht hilft Ihnen deshalb bei der Entscheidung.

  • MSYS2 (empfohlen): Ideal, wenn Sie regelmäßig programmieren. Außerdem installieren Sie Bibliotheken und Updates bequem per Befehl.
  • WinLibs als ZIP: Ideal, wenn Sie nur schnell einen Compiler brauchen. Zudem ist keine Installation nötig, das Paket ist also portabel.
  • winget: Ideal, wenn Sie alles über die Kommandozeile einrichten möchten. Dabei lädt Windows die Pakete automatisch.

Für die meisten Nutzer ist MSYS2 die beste Wahl. Wer hingegen nur ein einzelnes Programm übersetzen möchte, ist mit WinLibs schneller am Ziel.

Methode 1: MinGW-w64 über MSYS2 installieren (empfohlen)

MSYS2 liefert stets aktuelle Versionen von GCC und MinGW-w64. Außerdem erhalten Sie mit pacman einen Paketmanager, der Abhängigkeiten selbstständig auflöst.

Schritt 1: MSYS2 herunterladen

  1. Öffnen Sie Ihren Browser und rufen Sie die Seite msys2.org auf.
  2. Klicken Sie anschließend im Abschnitt „Installation“ auf die Installationsdatei.
  3. Die Datei heißt zum Beispiel „msys2-x86_64-20260611.exe“. Die Zahl am Ende steht dabei für das Veröffentlichungsdatum.
  4. Speichern Sie die Datei danach im Ordner „Downloads“.

Laden Sie MSYS2 ausschließlich von der offiziellen Seite. Dadurch erhalten Sie garantiert eine unveränderte Version.

Schritt 2: MSYS2 installieren

  1. Starten Sie die heruntergeladene Datei per Doppelklick.
  2. Bestätigen Sie anschließend die Sicherheitsabfrage von Windows mit „Ja“.
  3. Klicken Sie im Assistenten auf „Weiter“.
  4. Belassen Sie den Installationsordner bei C:\msys64. Andere Pfade funktionieren zwar ebenfalls, dürfen jedoch keine Leerzeichen enthalten.
  5. Klicken Sie erneut auf „Weiter“ und danach auf „Installieren“.
  6. Lassen Sie zum Schluss den Haken bei „MSYS2 jetzt ausführen“ gesetzt und klicken Sie auf „Abschließen“.

Daraufhin öffnet sich automatisch ein Terminalfenster. In der Titelzeile steht in der Regel „UCRT64“.

Schritt 3: MSYS2 aktualisieren

Zunächst bringen Sie das Grundsystem auf den neuesten Stand. Tippen Sie dafür folgenden Befehl ein und bestätigen Sie mit der Eingabetaste:

pacman -Syu

Beantworten Sie die Rückfrage anschließend mit J oder Y. Möglicherweise schließt sich das Fenster danach von selbst. Das ist jedoch normal.

Öffnen Sie in diesem Fall über das Startmenü erneut „MSYS2 UCRT64“. Führen Sie danach den Befehl noch einmal aus:

pacman -Syu

Erst wenn die Meldung erscheint, dass nichts mehr zu tun ist, ist das System vollständig aktuell.

Schritt 4: MinGW-w64-Toolchain installieren

Nun folgt der eigentliche Compiler. Geben Sie dazu im Fenster „MSYS2 UCRT64“ diesen Befehl ein:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

Anschließend zeigt pacman eine Liste der enthaltenen Pakete an. Drücken Sie einfach die Eingabetaste, um alle Pakete auszuwählen. Bestätigen Sie danach die Installation mit J oder Y.

Dadurch landen unter anderem folgende Werkzeuge auf Ihrem Rechner:

  • gcc – der C-Compiler
  • g++ – der C++-Compiler
  • gdb – der Debugger
  • mingw32-make – das Build-Werkzeug Make
  • gfortran – der Fortran-Compiler
  • binutils – Linker, Assembler und weitere Hilfsprogramme

Falls Sie Speicherplatz sparen möchten, genügt alternativ der schlanke Befehl:

pacman -S mingw-w64-ucrt-x86_64-gcc

Dann fehlen allerdings Debugger und Make. Deshalb ist die komplette Toolchain für Einsteiger meist sinnvoller.

Schritt 5: Installation im MSYS2-Terminal testen

Prüfen Sie nun direkt im UCRT64-Fenster, ob alles funktioniert:

gcc --version
g++ --version
gdb --version

Erscheint jeweils eine Versionsnummer, war die Installation erfolgreich. Damit die Befehle jedoch auch in der Eingabeaufforderung, in PowerShell und in Ihrem Editor funktionieren, müssen Sie zusätzlich die PATH-Variable anpassen. Die Anleitung dazu finden Sie weiter unten.

Die MSYS2-Umgebungen im Überblick

Im Startmenü finden Sie nach der Installation mehrere Einträge. Jeder Eintrag steht dabei für eine eigene Umgebung.

  • MSYS2 UCRT64: GCC mit moderner UCRT-Laufzeit. Das ist folglich die empfohlene Standardumgebung.
  • MSYS2 MINGW64: GCC mit älterer MSVCRT-Laufzeit. Diese Umgebung ist hauptsächlich für Altprojekte gedacht.
  • MSYS2 CLANG64: Clang/LLVM statt GCC, ebenfalls mit UCRT.
  • MSYS2 CLANGARM64: Clang für Windows auf ARM-Prozessoren.
  • MSYS2 MSYS: Die Basisumgebung für Verwaltungsaufgaben. Programme, die Sie hier bauen, hängen jedoch von einer zusätzlichen DLL ab.

Arbeiten Sie deshalb konsequent im Fenster „MSYS2 UCRT64“. Vermischen Sie außerdem keine Pakete verschiedener Umgebungen in einem Projekt.

Methode 2: MinGW-w64 mit WinLibs installieren (ohne Installer)

WinLibs ist ein eigenständiges Paket aus GCC und MinGW-w64. Es benötigt weder einen Installer noch einen Paketmanager. Daher eignet es sich besonders gut für schnelle Tests, Schulrechner oder USB-Sticks.

Aktuell enthält die neueste WinLibs-Ausgabe GCC 16.2.0 zusammen mit MinGW-w64 14.0.0. Darüber hinaus sind GDB, Make, CMake und Ninja bereits enthalten.

Schritt 1: Das richtige Paket herunterladen

  1. Rufen Sie im Browser die Seite winlibs.com auf.
  2. Scrollen Sie anschließend zum Abschnitt „Download“.
  3. Suchen Sie dort die Zeile mit dem Zusatz „UCRT“ und „POSIX threads“, die als „LATEST“ markiert ist.
  4. Wählen Sie danach unter „Win64“ die ZIP-Datei aus.

Der Dateiname beginnt in der Regel mit „winlibs-x86_64-posix-seh-gcc“. Die 7z-Variante ist zwar kleiner, erfordert jedoch ein Zusatzprogramm wie 7-Zip.

Außerdem gibt es Varianten mit und ohne LLVM/Clang. Für den Einstieg genügt jedoch die Variante ohne LLVM.

Schritt 2: Archiv entpacken

  1. Öffnen Sie den Ordner „Downloads“ im Explorer.
  2. Klicken Sie anschließend mit der rechten Maustaste auf die ZIP-Datei.
  3. Wählen Sie „Alle extrahieren“.
  4. Geben Sie als Ziel C:\ an und klicken Sie danach auf „Extrahieren“.

Danach existiert der Ordner C:\mingw64. Darin liegt zudem der wichtige Unterordner C:\mingw64\bin mit allen Programmen.

Schritt 3: PATH setzen und testen

Tragen Sie anschließend C:\mingw64\bin in die PATH-Variable ein. Wie das genau funktioniert, erklärt der Abschnitt zur PATH-Einrichtung.

Alternativ können Sie WinLibs auch ohne PATH-Eintrag nutzen. Rufen Sie dazu den Compiler einfach mit vollem Pfad auf:

C:\mingw64\bin\gcc.exe --version

Dadurch bleibt Ihr System völlig unverändert. Das ist beispielsweise praktisch, wenn Sie mehrere GCC-Versionen parallel verwenden möchten.

Methode 3: MinGW per winget installieren

Windows 11 und aktuelle Versionen von Windows 10 enthalten den Paketmanager winget. Damit installieren Sie MSYS2 oder WinLibs mit einem einzigen Befehl.

MSYS2 mit winget installieren

  1. Drücken Sie Windows-Taste + X.
  2. Wählen Sie anschließend „Terminal“ oder „Windows PowerShell“.
  3. Geben Sie danach folgenden Befehl ein:
winget install MSYS2.MSYS2

Anschließend fahren Sie wie in Methode 1 ab Schritt 3 fort. Der Compiler selbst muss nämlich weiterhin über pacman installiert werden.

WinLibs mit winget installieren

Ebenso lässt sich WinLibs direkt beziehen:

winget install BrechtSanders.WinLibs.POSIX.UCRT

Schließen Sie danach das Terminal und öffnen Sie es erneut. Prüfen Sie anschließend mit gcc --version, ob der Compiler gefunden wird. Falls nicht, ergänzen Sie den PATH manuell.

PATH-Umgebungsvariable einrichten

Die PATH-Variable teilt Windows mit, in welchen Ordnern nach Programmen gesucht wird. Ohne diesen Eintrag findet die Eingabeaufforderung den Befehl gcc folglich nicht.

Welchen Ordner Sie eintragen, hängt von der Methode ab:

  • MSYS2 (UCRT64): C:\msys64\ucrt64\bin
  • MSYS2 (MINGW64): C:\msys64\mingw64\bin
  • WinLibs: C:\mingw64\bin

PATH über die Systemeinstellungen ändern

  1. Drücken Sie Windows-Taste + R.
  2. Geben Sie anschließend sysdm.cpl ein und bestätigen Sie mit der Eingabetaste.
  3. Wechseln Sie danach auf die Registerkarte „Erweitert“.
  4. Klicken Sie unten auf „Umgebungsvariablen“.
  5. Markieren Sie im oberen Bereich „Benutzervariablen“ den Eintrag „Path“.
  6. Klicken Sie anschließend auf „Bearbeiten“ und dann auf „Neu“.
  7. Fügen Sie den passenden Ordner ein, zum Beispiel C:\msys64\ucrt64\bin.
  8. Bestätigen Sie zuletzt alle drei Fenster mit „OK“.

Alternativ tippen Sie im Startmenü einfach „Umgebungsvariablen“ ein. Wählen Sie dann den Treffer „Umgebungsvariablen für dieses Konto bearbeiten“.

PATH per PowerShell setzen

Wer lieber mit Befehlen arbeitet, nutzt stattdessen PowerShell. Der folgende Befehl ergänzt den Benutzer-PATH dauerhaft:

[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path","User") + ";C:\msys64\ucrt64\bin", "User")

Passen Sie den Ordner bei WinLibs entsprechend an. Verzichten Sie hingegen auf den älteren Befehl setx in Verbindung mit %PATH%. Dieser kann lange Einträge nämlich abschneiden.

Wichtig: Terminal neu starten

Die Änderung gilt erst für neu geöffnete Fenster. Schließen Sie deshalb alle Terminals und auch Ihren Editor. Öffnen Sie anschließend alles erneut.

Tragen Sie außerdem nur den jeweiligen bin-Ordner der Toolchain ein. Den Ordner C:\msys64\usr\bin sollten Sie dagegen nicht global aufnehmen. Andernfalls überlagern Unix-Werkzeuge gleichnamige Windows-Befehle wie find oder sort.

Installation prüfen

Jetzt folgt der entscheidende Test. Öffnen Sie dazu die Eingabeaufforderung oder PowerShell und geben Sie nacheinander ein:

gcc --version
g++ --version
gdb --version
where gcc

Die ersten drei Befehle zeigen jeweils die installierte Version. Der Befehl where gcc nennt zusätzlich den Speicherort der Datei.

Erscheinen dabei mehrere Pfade, sind mehrere Compiler installiert. Windows verwendet dann stets den ersten Treffer. Entfernen Sie daher überflüssige Einträge aus dem PATH oder ändern Sie die Reihenfolge.

Erstes Programm kompilieren und ausführen

Mit einem kleinen Test stellen Sie sicher, dass die gesamte Werkzeugkette funktioniert.

C-Programm kompilieren

  1. Erstellen Sie zunächst einen Ordner, zum Beispiel C:\projekte\hallo.
  2. Öffnen Sie anschließend den Windows-Editor und fügen Sie diesen Code ein:
#include <stdio.h>

int main(void) {
    printf("Hallo, Windows!\n");
    return 0;
}
  1. Speichern Sie die Datei danach als hallo.c in dem neuen Ordner. Wählen Sie dabei als Dateityp „Alle Dateien“.
  2. Öffnen Sie nun ein Terminal und wechseln Sie in den Ordner:
cd C:\projekte\hallo
  1. Kompilieren Sie anschließend das Programm:
gcc hallo.c -o hallo.exe
  1. Starten Sie es zuletzt in der Eingabeaufforderung mit hallo.exe oder in PowerShell mit .\hallo.exe.

Daraufhin erscheint der Text „Hallo, Windows!“. Somit ist Ihr Compiler voll einsatzbereit.

C++-Programm kompilieren

Für C++ verwenden Sie stattdessen den Befehl g++. Legen Sie dazu eine Datei hallo.cpp mit folgendem Inhalt an:

#include <iostream>

int main() {
    std::cout << "Hallo aus C++!" << std::endl;
    return 0;
}

Übersetzen Sie die Datei anschließend so:

g++ hallo.cpp -o hallo.exe -std=c++20 -Wall

Dabei aktiviert -std=c++20 den gewünschten Sprachstandard. Die Option -Wall schaltet zudem die wichtigsten Warnungen ein.

Nützliche Compiler-Optionen

Die folgenden Schalter benötigen Sie im Alltag besonders häufig:

  • -o name.exe – legt den Namen der Ausgabedatei fest
  • -Wall -Wextra – zeigt zusätzliche Warnungen an
  • -g – fügt Debug-Informationen für GDB hinzu
  • -O2 – optimiert das Programm auf Geschwindigkeit
  • -std=c17 oder -std=c++23 – wählt den Sprachstandard
  • -static – bindet die Laufzeitbibliotheken fest in die EXE ein
  • -I und -L – nennen zusätzliche Ordner für Header und Bibliotheken
  • -l – verknüpft eine Bibliothek, zum Beispiel -lws2_32

Besonders wichtig ist dabei -static. Ohne diese Option benötigt Ihr Programm auf fremden Rechnern nämlich DLL-Dateien wie „libstdc++-6.dll“. Mit der Option läuft die EXE hingegen überall eigenständig.

MinGW in Visual Studio Code einrichten

Visual Studio Code ist der beliebteste Editor für MinGW. Die Einrichtung dauert zudem nur wenige Minuten.

Schritt 1: Erweiterung installieren

  1. Starten Sie Visual Studio Code.
  2. Drücken Sie anschließend Strg + Umschalt + X, um die Erweiterungen zu öffnen.
  3. Suchen Sie nach „C/C++“ vom Herausgeber Microsoft.
  4. Klicken Sie danach auf „Installieren“.

Optional installieren Sie zusätzlich das „C/C++ Extension Pack“. Es bringt außerdem Unterstützung für CMake mit.

Schritt 2: Compiler auswählen

  1. Öffnen Sie über „Datei > Ordner öffnen“ Ihren Projektordner.
  2. Öffnen Sie anschließend eine C- oder C++-Datei.
  3. Drücken Sie Strg + Umschalt + P.
  4. Geben Sie „C/C++: Konfigurationen bearbeiten (Benutzeroberfläche)“ ein.
  5. Tragen Sie bei „Compilerpfad“ den Wert C:\msys64\ucrt64\bin\g++.exe ein. Bei WinLibs lautet er entsprechend C:\mingw64\bin\g++.exe.
  6. Wählen Sie bei „IntelliSense-Modus“ den Eintrag „windows-gcc-x64“.

Dadurch erkennt der Editor die Header-Dateien korrekt. Rote Unterstreichungen bei #include verschwinden somit.

Schritt 3: Kompilieren und debuggen

  1. Öffnen Sie Ihre Quelldatei.
  2. Klicken Sie anschließend oben rechts auf den Pfeil „Ausführen“.
  3. Wählen Sie „C/C++-Datei debuggen“.
  4. Entscheiden Sie sich danach für „g++.exe – Aktive Datei erstellen und debuggen“.

Visual Studio Code legt daraufhin automatisch eine Datei tasks.json im Ordner .vscode an. Darin steht der Build-Befehl. Bei Bedarf ergänzen Sie dort zusätzlich Optionen wie -Wall oder -std=c++20.

Mit F5 starten Sie künftig den Debugger. Haltepunkte setzen Sie außerdem per Klick links neben die Zeilennummer.

Tipp: UCRT64-Shell im integrierten Terminal

Zusätzlich können Sie die MSYS2-Shell direkt in den Editor einbinden. Öffnen Sie dazu die Datei settings.json und ergänzen Sie ein Terminalprofil mit diesem Pfad:

C:\msys64\msys2_shell.cmd -defterm -here -no-start -ucrt64

Dadurch stehen Ihnen pacman und alle Unix-Werkzeuge unmittelbar im Projektordner zur Verfügung.

MinGW in anderen Entwicklungsumgebungen nutzen

Auch andere Programme arbeiten problemlos mit MinGW-w64 zusammen. Meistens müssen Sie lediglich den Installationsordner angeben.

Code::Blocks

  1. Öffnen Sie „Settings > Compiler“.
  2. Wählen Sie anschließend oben „GNU GCC Compiler“.
  3. Wechseln Sie danach zum Reiter „Toolchain executables“.
  4. Tragen Sie als Installationsverzeichnis C:\msys64\ucrt64 oder C:\mingw64 ein.
  5. Klicken Sie zuletzt auf „Auto-detect“ und bestätigen Sie mit „OK“.

CLion

  1. Öffnen Sie „Settings > Build, Execution, Deployment > Toolchains“.
  2. Klicken Sie anschließend auf das Plus-Symbol und wählen Sie „MinGW“.
  3. Geben Sie danach bei „Toolset“ den Ordner C:\msys64\ucrt64 an.

CLion erkennt daraufhin Compiler, Make und Debugger automatisch.

Qt Creator, Eclipse und Dev-C++

Ebenso funktionieren Qt Creator, Eclipse CDT und Embarcadero Dev-C++. Dort wählen Sie jeweils in den Compiler-Einstellungen die Dateien gcc.exe, g++.exe und gdb.exe aus dem bin-Ordner aus.

Zusätzliche Werkzeuge und Bibliotheken installieren

Der große Vorteil von MSYS2 zeigt sich bei Erweiterungen. Statt Bibliotheken mühsam selbst zu bauen, installieren Sie diese einfach per Befehl.

Öffnen Sie dazu „MSYS2 UCRT64“ und verwenden Sie beispielsweise diese Befehle:

  • CMake: pacman -S mingw-w64-ucrt-x86_64-cmake
  • Ninja: pacman -S mingw-w64-ucrt-x86_64-ninja
  • Git: pacman -S git
  • SDL2: pacman -S mingw-w64-ucrt-x86_64-SDL2
  • Boost: pacman -S mingw-w64-ucrt-x86_64-boost
  • Qt 6: pacman -S mingw-w64-ucrt-x86_64-qt6-base

Darüber hinaus helfen folgende pacman-Befehle bei der Verwaltung:

  • pacman -Ss suchbegriff – sucht nach Paketen
  • pacman -Qe – listet ausdrücklich installierte Pakete auf
  • pacman -R paketname – entfernt ein Paket
  • pacman -Sc – leert den Paket-Cache und spart dadurch Speicherplatz

Make richtig verwenden

Die MinGW-Toolchain liefert Make unter dem Namen mingw32-make.exe. Der Befehl make existiert in der Eingabeaufforderung deshalb zunächst nicht.

Rufen Sie stattdessen einfach mingw32-make auf. Innerhalb der UCRT64-Shell funktioniert dagegen auch make, sofern Sie das Paket base-devel installiert haben.

MinGW aktualisieren

Aktuelle Compiler bringen neue Sprachfunktionen und beheben zudem Fehler. Aktualisieren Sie die Installation deshalb regelmäßig.

MSYS2 aktualisieren

  1. Öffnen Sie „MSYS2 UCRT64“ über das Startmenü.
  2. Führen Sie anschließend diesen Befehl aus:
pacman -Syu
  1. Starten Sie das Fenster bei Bedarf neu und wiederholen Sie danach den Befehl.

Dadurch werden GCC, MinGW-w64 und sämtliche Bibliotheken gemeinsam aktualisiert.

WinLibs aktualisieren

Bei WinLibs gibt es dagegen keine Update-Funktion. Gehen Sie deshalb folgendermaßen vor:

  1. Laden Sie zunächst das neue ZIP-Archiv herunter.
  2. Benennen Sie anschließend den alten Ordner um, zum Beispiel in C:\mingw64_alt.
  3. Entpacken Sie danach das neue Archiv wieder nach C:\.
  4. Löschen Sie zuletzt den alten Ordner, sobald alles funktioniert.

Der PATH-Eintrag bleibt dabei unverändert gültig.

MinGW deinstallieren

Falls Sie MinGW nicht mehr benötigen, lässt es sich rückstandsfrei entfernen.

MSYS2 entfernen

  1. Öffnen Sie Einstellungen > Apps > Installierte Apps. Unter Windows 10 heißt der Bereich dagegen „Apps und Features“.
  2. Suchen Sie anschließend nach „MSYS2“.
  3. Klicken Sie auf „Deinstallieren“.
  4. Löschen Sie danach gegebenenfalls verbliebene Reste im Ordner C:\msys64.

WinLibs entfernen

Hier genügt es, den Ordner C:\mingw64 zu löschen. Weitere Spuren hinterlässt das Paket nämlich nicht.

PATH-Eintrag löschen

Entfernen Sie abschließend den Eintrag aus der PATH-Variable. Öffnen Sie dazu erneut die Umgebungsvariablen, markieren Sie die Zeile und klicken Sie auf „Löschen“.

Häufige Fehler und ihre Lösungen

Trotz einfacher Installation treten gelegentlich Probleme auf. Die folgenden Lösungen decken jedoch die häufigsten Fälle ab.

„Der Befehl ‚gcc‘ ist entweder falsch geschrieben oder konnte nicht gefunden werden“

Diese Meldung bedeutet, dass der PATH nicht stimmt. Prüfen Sie daher folgende Punkte:

  • Ist der bin-Ordner korrekt eingetragen, also zum Beispiel C:\msys64\ucrt64\bin?
  • Existiert in diesem Ordner tatsächlich die Datei gcc.exe?
  • Haben Sie das Terminal nach der Änderung neu gestartet?
  • Wurde die Toolchain über pacman überhaupt installiert?

Häufig wurde nämlich nur MSYS2 selbst installiert, jedoch noch kein Compiler.

„pacman: command not found“ in der Eingabeaufforderung

Der Paketmanager funktioniert ausschließlich in den MSYS2-Fenstern. Öffnen Sie deshalb „MSYS2 UCRT64“ über das Startmenü.

Signaturfehler bei pacman

Meldet pacman ungültige oder unbekannte Signaturen, sind meist die Schlüssel veraltet. Führen Sie in diesem Fall nacheinander folgende Befehle aus:

pacman-key --init
pacman-key --populate msys2
pacman -Sy msys2-keyring
pacman -Syu

Anschließend sollte die Aktualisierung wieder durchlaufen.

Fehlende DLL beim Start des Programms

Erscheint eine Meldung zu „libstdc++-6.dll“, „libgcc_s_seh-1.dll“ oder „libwinpthread-1.dll“, fehlen die Laufzeitbibliotheken. Kompilieren Sie deshalb mit der Option -static:

g++ main.cpp -o main.exe -static

Alternativ kopieren Sie die genannten DLL-Dateien aus dem bin-Ordner neben Ihre EXE.

„undefined reference to WinMain“

Dieser Linkerfehler tritt auf, wenn die Funktion main fehlt oder die Datei nicht gespeichert wurde. Speichern Sie daher die Quelldatei und prüfen Sie zudem die Schreibweise.

„Permission denied“ beim Kompilieren

Meistens läuft das Programm dann noch im Hintergrund. Schließen Sie deshalb das alte Konsolenfenster oder beenden Sie den Prozess im Task-Manager. Danach klappt der Build wieder.

Antivirus blockiert die erzeugte EXE

Frisch kompilierte Programme werden gelegentlich fälschlich als verdächtig eingestuft. Fügen Sie in diesem Fall Ihren Projektordner als Ausnahme hinzu:

  1. Öffnen Sie „Windows-Sicherheit“.
  2. Wählen Sie anschließend „Viren- & Bedrohungsschutz“.
  3. Klicken Sie unter „Einstellungen für Viren- & Bedrohungsschutz“ auf „Einstellungen verwalten“.
  4. Wählen Sie danach „Ausschlüsse hinzufügen oder entfernen“.
  5. Fügen Sie zuletzt Ihren Projektordner hinzu.

Nehmen Sie jedoch ausschließlich Ordner mit eigenem Quellcode auf.

Umlaute werden falsch dargestellt

Die Konsole verwendet standardmäßig eine ältere Zeichenkodierung. Geben Sie deshalb vor dem Programmstart chcp 65001 ein. Dadurch schaltet die Konsole auf UTF-8 um.

Falsche GCC-Version wird verwendet

Zeigt gcc --version eine unerwartete Version, existiert vermutlich eine zweite Installation. Prüfen Sie dies mit where gcc. Oft stammen ältere Compiler beispielsweise von Strawberry Perl, Code::Blocks oder Git. Verschieben Sie in diesem Fall Ihren gewünschten Eintrag im PATH nach oben.

Windows on ARM: MinGW auf ARM-Geräten

Immer mehr Notebooks arbeiten mit ARM-Prozessoren, etwa mit Snapdragon-Chips. Auch dort lässt sich MinGW-w64 nutzen.

MSYS2 bietet dafür inzwischen einen eigenen ARM64-Installer an. Wählen Sie nach der Installation die Umgebung „MSYS2 CLANGARM64“. Dort installieren Sie die Toolchain anschließend so:

pacman -S --needed base-devel mingw-w64-clang-aarch64-toolchain

Hier kommt allerdings Clang statt GCC zum Einsatz. Der Aufruf lautet folglich clang beziehungsweise clang++. Der PATH-Eintrag heißt entsprechend C:\msys64\clangarm64\bin.

Alternativ läuft die normale x64-Version dank der Emulation von Windows 11 ebenfalls. Sie arbeitet jedoch spürbar langsamer.

Alternativen zu MinGW

MinGW-w64 ist nicht die einzige Möglichkeit, unter Windows zu kompilieren. Je nach Ziel passen andere Werkzeuge mitunter besser.

  • WSL (Windows-Subsystem für Linux): Liefert ein vollständiges Linux mit GCC. Die erzeugten Programme laufen allerdings unter Linux, nicht nativ unter Windows. Die Installation gelingt mit wsl --install in einem Administrator-Terminal.
  • Visual Studio Build Tools (MSVC): Der Compiler von Microsoft. Er ist insbesondere dann sinnvoll, wenn Bibliotheken nur für MSVC vorliegen.
  • LLVM-MinGW: Eine Toolchain auf Basis von Clang. Sie unterstützt zudem ARM64 besonders gut.
  • Cygwin: Bildet eine Unix-Umgebung nach. Programme benötigen jedoch eine zusätzliche Kompatibilitäts-DLL.

Möchten Sie hingegen native Windows-Programme mit GCC erstellen, bleibt MinGW-w64 die erste Wahl.

Tipps für den reibungslosen Betrieb

Mit einigen einfachen Gewohnheiten vermeiden Sie viele Probleme von vornherein.

  • Nur eine Toolchain im PATH: Mehrere Compiler führen sonst schnell zu Verwechslungen.
  • Pfade ohne Leerzeichen: Nutzen Sie daher Ordner wie C:\projekte statt „Eigene Dateien“.
  • Regelmäßig aktualisieren: Führen Sie deshalb etwa einmal im Monat pacman -Syu aus.
  • Warnungen ernst nehmen: Kompilieren Sie außerdem stets mit -Wall -Wextra.
  • Keine veralteten Downloads: Meiden Sie insbesondere alte Installer von Drittseiten.
  • Umgebungen nicht mischen: Bleiben Sie folglich konsequent bei UCRT64.
  • Projekte außerhalb von C:\msys64 speichern: Dadurch bleiben Ihre Daten bei einer Neuinstallation erhalten.

Häufige Fragen zur MinGW-Installation

Ist MinGW kostenlos?

Ja, MinGW-w64, GCC, MSYS2 und WinLibs sind vollständig kostenlos und quelloffen. Zudem dürfen Sie die Werkzeuge auch beruflich einsetzen. Für Ihre eigenen Programme entstehen dadurch in der Regel keine Lizenzpflichten. Prüfen Sie jedoch bei zusätzlich eingebundenen Bibliotheken jeweils deren Lizenz.

Welche MinGW-Version ist für Windows 11/10 die richtige?

Wählen Sie MinGW-w64 in der 64-Bit-Variante mit UCRT-Laufzeit. Bei MSYS2 entspricht das der Umgebung UCRT64. Bei WinLibs nehmen Sie dagegen das Win64-Paket mit dem Zusatz „UCRT“ und „POSIX threads“. Das alte 32-Bit-MinGW von MinGW.org sollten Sie hingegen nicht mehr verwenden.

Was ist besser: MSYS2 oder WinLibs?

MSYS2 eignet sich besser für die dauerhafte Entwicklung, weil Updates und Bibliotheken per Befehl installiert werden. WinLibs ist dagegen schneller eingerichtet und außerdem portabel. Wer also nur einen Compiler für Übungen braucht, greift zu WinLibs. Für größere Projekte ist jedoch MSYS2 komfortabler.

Wie prüfe ich, ob MinGW bereits installiert ist?

Öffnen Sie die Eingabeaufforderung und geben Sie gcc --version ein. Erscheint eine Versionsnummer, ist ein Compiler vorhanden. Mit where gcc sehen Sie zusätzlich den Installationsordner. Erscheint dagegen eine Fehlermeldung, fehlt entweder die Installation oder der PATH-Eintrag.

Kann ich mit MinGW auch 32-Bit-Programme erstellen?

Ja, das ist weiterhin möglich. WinLibs bietet dafür ein eigenes Win32-Paket an. Entpacken Sie dieses einfach in einen separaten Ordner wie C:\mingw32. Tragen Sie jedoch immer nur eine der beiden Varianten in den PATH ein. Andernfalls kommt es zu Verwechslungen.

Benötige ich Administratorrechte für die Installation?

Für WinLibs benötigen Sie keine Administratorrechte, sofern Sie das Archiv in Ihren Benutzerordner entpacken. Auch der Benutzer-PATH lässt sich ohne erhöhte Rechte ändern. Der MSYS2-Installer fragt dagegen meist nach einer Bestätigung. Auf Firmenrechnern ist deshalb WinLibs oft die einfachere Lösung.

Wie viel Speicherplatz belegt MinGW?

Eine MSYS2-Installation mit kompletter Toolchain belegt etwa 2 bis 3 GB. WinLibs benötigt entpackt hingegen rund 1 GB. Mit zusätzlichen Bibliotheken wie Qt oder Boost wächst der Bedarf allerdings deutlich. Leeren Sie daher gelegentlich den Paket-Cache mit pacman -Sc.

Warum funktioniert der Befehl make nicht?

In der MinGW-Toolchain heißt das Programm mingw32-make. Verwenden Sie daher diesen Namen in der Eingabeaufforderung. Bei WinLibs liegt die Datei ebenfalls unter diesem Namen im bin-Ordner. In der UCRT64-Shell von MSYS2 steht dagegen zusätzlich make bereit, sofern base-devel installiert ist.

Ist MinGW sicher?

Ja, sofern Sie die Dateien von den offiziellen Seiten msys2.org oder winlibs.com beziehen. MSYS2 prüft Pakete zudem per Signatur. WinLibs stellt außerdem Prüfsummen bereit, mit denen Sie den Download kontrollieren können. Meiden Sie dagegen unbekannte Download-Portale.

Kann ich MinGW und Visual Studio parallel nutzen?

Ja, beide Compiler stören sich gegenseitig nicht. Visual Studio verwendet nämlich eine eigene Umgebung und greift nicht auf den PATH-Eintrag von MinGW zu. In Visual Studio Code wählen Sie außerdem pro Projekt aus, welcher Compiler arbeiten soll. Bibliotheken beider Welten sollten Sie jedoch nicht mischen.

Fazit

MinGW lässt sich unter Windows 11/10 in wenigen Minuten einrichten. Am komfortabelsten gelingt dies mit MSYS2 und der UCRT64-Toolchain. Wer es hingegen besonders schlank mag, entpackt einfach WinLibs.

Entscheidend ist anschließend der korrekte PATH-Eintrag. Prüfen Sie deshalb zum Schluss mit gcc --version, ob alles funktioniert. Danach kompilieren Sie C- und C++-Programme direkt im Terminal oder in Visual Studio Code.

Mario
Mario

Mario schreibt bei tippsling.de über Technik, Spiele, DIY und digitale Alltagsthemen. Sein Schwerpunkt liegt auf verständlichen Anleitungen zu Windows, Apps und praktischen Problemlösungen – ergänzt um Ratgeber zu Gaming- und DIY-Themen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert