↓Zum Hauptinhalt springen
Alemasone

C und C++ Compiler installieren: Windows, Linux & macOS

Lerne, wie du GCC mit MSYS2 (Windows), build-essential (Linux) oder Xcode (macOS) installierst und in VS Code nutzt.

7 Min. Lesezeit Aktualisiert am
Terminal mit der Kompilierung eines C++ Programms und einer Erfolgsmeldung
Auf dieser Seite
Auf Linux und macOS wird der Compiler mit einem Befehl installiert. Unter Windows ist der richtige Weg heute MSYS2, das dir GCC über MinGW-w64 bereitstellt und es automatisch aktualisiert. Das alte MinGW von SourceForge – das mit dem Installation Manager, den man in vielen Anleitungen findet (auch in der ersten Version dieser hier) – ist seit Jahren veraltet, erstellt nur 32-Bit-Programme und sollte nicht mehr verwendet werden.

Der Compiler wandelt den Quellcode in ein ausführbares Programm um. Für C und C++ sind die beiden am häufigsten verwendeten: GCC, seit 1987 im Einsatz und überall verfügbar, und Clang, der jüngere mit klareren Fehlermeldungen, der unter macOS standardmäßig installiert ist. Die neueste Version von GCC ist die 16 (erschienen im April 2026), die für C++ standardmäßig den C++20-Standard verwendet.

Im Folgenden findest du die Installation für alle drei Systeme, die Befehle zum Kompilieren und die Konfiguration von Visual Studio Code.

Windows: MSYS2 und MinGW-w64 #

MinGW-w64 ist die GCC-Version, die native Executables für Windows erstellt. MSYS2 ist die Umgebung, die sie bereitstellt und aktuell hält.

  1. Lade das Installationsprogramm von der offiziellen MSYS2-Website herunter und installiere es mit dem Standardpfad C:\msys64.

  2. Nach Abschluss öffnet sich ein MSYS2-Terminal. Aktualisiere die Basis-Pakete:

    pacman -Syu
    

    Wenn sich das Fenster während des Updates schließt, keine Sorge: Öffne es einfach über das Startmenü neu (MSYS2 UCRT64) und wiederhole den Befehl, bis nichts mehr zu aktualisieren ist.

  3. Installiere die 64-Bit-Build-Tools:

    pacman -S mingw-w64-ucrt-x86_64-toolchain
    

    Wenn du gefragt wirst, welche Pakete installiert werden sollen, drücke Enter, um alle auszuwählen, und bestätige dann mit Y. Falls du auch einen Debugger benötigst: Er ist bereits enthalten: gdb gehört zur Gruppe dazu.

  4. Füge den Ordner der Compiler zum Windows-PATH hinzu, damit du sie in jedem Terminal nutzen kannst. Suche im Startmenü nach Systemumgebungsvariablen bearbeiten (oder gehe zu Einstellungen → System → Info → Erweiterte Systemeinstellungen), klicke auf Umgebungsvariablen, wähle Path unter den Benutzervariablen aus, dann auf Bearbeiten → Neu und gib Folgendes ein:

    C:\msys64\ucrt64\bin
    
  5. Bestätige alles mit OK, öffne eine neue Eingabeaufforderung (CMD) und überprüfe es:

    gcc --version
    g++ --version
    

Windows-Fenster für Umgebungsvariablen mit dem Eintrag Path unter den Benutzervariablen
Der zu ändernde Eintrag ‘Path’ befindet sich im Bereich der Benutzervariablen

Es gibt auch kürzere Wege. w64devkit ist ein einzelnes Archiv zum Entpacken, ganz ohne Paketmanager: praktisch, wenn man es nur gelegentlich nutzt. Und wenn du unter Windows nur C lernen willst, ist auch das Windows-Subsystem für Linux (WSL) super: Installiere Ubuntu mit wsl --install und folge dem Linux-Teil weiter unten.

Linux #

Bei Debian, Ubuntu und deren Derivaten ist alles Nötige in einem einzigen Paket enthalten:

sudo apt update
sudo apt install build-essential gdb

Darin sind GCC, G++, make und die Development-Libraries enthalten. Auf Fedora:

sudo dnf install gcc gcc-c++ make gdb

Auf Arch Linux:

sudo pacman -S base-devel gdb

Überprüfe es mit gcc --version. Du brauchst sonst nichts weiter: Die Pfade sind bereits konfiguriert.

macOS #

Auf dem Mac ist der Standard-Compiler Clang, der mit den Xcode Command Line Tools kommt. Installiere sie mit diesem Befehl, der ein Bestätigungsfenster öffnet:

xcode-select --install

Von hier an existieren die Befehle gcc und g++ zwar, führen aber eigentlich Clang aus. Für das Lernen macht das keinen Unterschied.

Falls du unbedingt GCC brauchst, zum Beispiel für ein Projekt, das dies erfordert, installiere es mit Homebrew:

brew install gcc

Die Befehle werden gcc-16 und g++-16 heißen (mit der Versionsnummer), damit sie sich nicht mit den Systembefehlen überschneiden.

Kompilieren über das Terminal #

Die Befehle sind überall gleich, nur der Name der erzeugten Datei ändert sich.

Eine einzelne C-Datei kompilieren:

gcc programma.c -o programma

C++ kompilieren mit einem aktuellen Standard und allen Warnungen:

g++ -std=c++20 -Wall -Wextra programma.cpp -o programma

Das Ergebnis ausführen:

./programma

Unter Windows heißt die Executable in der Eingabeaufforderung programma.exe und wird durch Eingabe von programma gestartet.

Terminal, das eine C++-Datei mit g++ kompiliert und direkt danach das Ergebnis ausführt
Fehlerfreie Kompilierung: keine Meldungen, und das Programm startet

Wichtige Optionen für den Anfang:

OptionFunktion
-Wall -WextraZeigt Warnungen an: Sie fangen Fehler ab, die der Compiler sonst stillschweigend akzeptieren würde
-gSchließt Debug-Informationen ein, die für die Nutzung des Debuggers notwendig sind
-O2Optimiert den Code; sollte für die finale Version genutzt werden, nicht während der Entwicklung
-std=c++20Legt den Sprachstandard fest, um Unterschiede zwischen verschiedenen Computern zu vermeiden
Ab mehr als drei Dateien: Vergiss das manuelle Kompilieren. Schreibe ein Makefile oder nutze CMake. Alles bei jeder Änderung neu zu kompilieren kostet Zeit, und früher oder später vergisst man eine Datei und verbringt eine halbe Stunde mit einem Fehler, der gar nicht existiert.

Visual Studio Code konfigurieren #

Visual Studio Code hat keinen eigenen Compiler: Es nutzt den, den du installiert hast. Das ist in zwei Schritten erledigt.

  1. Installiere die Microsoft-Erweiterung C/C++ über das Seitenmenü für Erweiterungen. Alternativ gibt es clangd, das beim Autocomplete und bei Warnmeldungen schneller ist.

  2. Öffne den Projektordner und erstelle eine Quelldatei. Drücke F5: Beim ersten Ausführen fragt der Editor, welchen Compiler du verwenden möchtest, und erstellt die Dateien tasks.json und launch.json automatisch im Unterordner .vscode.

Falls der Compiler nicht in der Liste erscheint, liegt das unter Windows meist am PATH. Überprüfe, ob gcc --version in einem neuen Terminal funktioniert, und starte den Editor danach komplett neu: Die Umgebungsvariablen werden erst beim Start eingelesen.

Visual Studio Code fragt beim ersten Debugging-Start nach dem Compiler
Beim ersten Ausführen listet der Editor die im System gefundenen Compiler auf

Um ohne den Debugger zu kompilieren, akzeptiert das integrierte Terminal (Strg + ò) dieselben Befehle wie oben beschrieben.

Häufige Fehler #

gcc non è riconosciuto come comando unter Windows: Der Ordner bin ist nicht in der Variable PATH enthalten oder das Terminal war bereits geöffnet, als du ihn hinzugefügt hast.

fatal error: iostream: No such file or directory: Du kompilierst eine C++-Datei mit gcc anstatt mit g++.

Du hast zwei verschiedene GCC-Versionen: Wenn sich die alte Version von C:\MinGW\bin noch im PATH befindet, entferne diesen Eintrag, sonst findet Windows unter Umständen zuerst die veraltete Version. where gcc zeigt dir an, welche verwendet wird.

undefined reference to ...: Das Kompilieren war erfolgreich, aber es fehlt die Verknüpfung zu einer Library oder einer anderen Quelldatei. Wenn es mehr als eine Datei ist, müssen alle angegeben werden oder du nutzt ein Build-System.

Die .exe startet auf einem anderen Windows-PC nicht: Es fehlen die Runtime-Bibliotheken. Das lässt sich lösen, indem du mit -static kompilierst, da diese dann direkt in der ausführbaren Datei enthalten sind.

Häufig gestellte Fragen #

Sind MinGW und MSYS2 dasselbe? #

Nein. MinGW-w64 ist das Toolset, das es GCC ermöglicht, Programme für Windows zu erstellen; MSYS2 ist die Umgebung, die diese bereitstellt, aktualisiert und ein Unix-ähnliches Terminal bietet. Heutzutage installiert man MSYS2 primär, um eine aktuelle Version von MinGW-w64 zu erhalten.

GCC oder Clang: Was soll ich wählen? #

Zum Lernen sind beide gut geeignet. Clang ist unter macOS vorinstalliert und liefert klarere Fehlermeldungen, was am Anfang sehr hilfreich ist. GCC ist der Standard unter Linux und begegnet dir in bestehenden Projekten häufiger. Viele Entwickler nutzen beide: Das Kompilieren mit zwei verschiedenen Compilern kann Fehler aufdecken, die einer von beiden übersehen würde.

Kann ich immer noch das alte MinGW von SourceForge verwenden? #

Es funktioniert zwar, wird aber seit Jahren nicht mehr aktualisiert, erstellt nur 32-Bit-Programme und hinkt aktuellen C++-Standards hinterher. Wenn du es bereits installiert hast, deinstalliere es, entferne C:\MinGW\bin aus dem PATH und wechsle zu MSYS2.

Kann ich Windows-Programme unter Linux kompilieren? #

Ja, indem du die Cross-Compiler-Version von MinGW-w64 installierst, die in den meisten Distributionen als Paket verfügbar ist. Du kompilierst mit x86_64-w64-mingw32-gcc und erhältst eine funktionierende .exe, was nützlich ist, um ein Programm zu verteilen, ohne einen Windows-Rechner zu besitzen.

Brauche ich Visual Studio anstelle von Visual Studio Code? #

Das sind zwei verschiedene Dinge. Visual Studio ist eine vollständige Entwicklungsumgebung mit dem eigenen Microsoft-Compiler (MSVC), während Visual Studio Code ein Editor ist, der den Compiler nutzt, den du ihm vorgibst. Um C und C++ zu lernen, reicht der Editor mit GCC völlig aus und ist wesentlich leichtgewichtiger.

Wie installiert man einen Debugger? #

Unter Linux und mit MSYS2 wird gdb zusammen mit dem Compiler installiert, wie oben gezeigt. Auf macOS nutzt du lldb, das bereits in den Xcode-Tools enthalten ist. In beiden Fällen erkennt Visual Studio Code ihn automatisch, sobald die Startkonfiguration generiert wurde.

Weiterlesen