Privatrechner — macOS
Zum Programmieren auf dem Mac benötigen Sie die Command Line Tools von Apple. Sie enthalten den Compiler und sind deutlich kleiner als die vollständige Entwicklungsumgebung Xcode.
1. Compiler installieren
-
Das Terminal öffnen (
Terminalin die Spotlight-Suche eingeben). -
Den folgenden Befehl ausführen:
xcode-select --install -
Im erscheinenden Fenster auf
Installierenklicken und die Lizenzbedingungen bestätigen. Der Download kann einige Minuten dauern.
Falls Sie Xcode bereits installiert haben, ist der Compiler schon vorhanden. Das Terminal meldet dann, dass die Command Line Tools bereits installiert sind.
Unter macOS steckt hinter dem Befehl g++ nicht der GCC-Compiler, sondern Apples Compiler Clang. Clang ist mit GCC kompatibel: Er versteht dieselben Befehle und Optionen (z. B. g++ --std=c++20 main.cpp) und übersetzt Standard-C++ genauso. Für den Brückenkurs und die Vorlesung macht das keinen Unterschied, Sie können also überall g++ verwenden.
2. Compiler prüfen
Geben Sie im Terminal den folgenden Befehl ein:
g++ --version
Es sollte eine Ausgabe erscheinen, die Apple clang version und eine Versionsnummer enthält. Erscheint stattdessen eine Fehlermeldung oder erneut die Aufforderung, die Command Line Tools zu installieren, wurde die Installation nicht abgeschlossen. Wiederholen Sie dann Schritt 1.
3. Visual Studio Code installieren
Visual Studio Code als Installer für den Mac herunterladen und installieren.
Wenn Sie zum ersten Mal mit Visual Studio Code arbeiten, können Pop-ups erscheinen, in denen Sie Visual Studio Code Zugriff auf Dateien gewähren müssen. Diese Abfragen sind normal und müssen bestätigt werden.
Die Einrichtung von Visual Studio Code ist in der Hauptanleitung beschrieben.
FAQ und Probleme
Im Folgenden finden Sie Probleme, die häufig unter macOS auftreten. Wenn Sie hier keine Lösung für Ihr Problem finden, schauen Sie bitte auch in die allgemeinen FAQ.
Kompilieren mit BitmapPlusPlus.hpp funktioniert nicht
Problem: Der erste Compilerfehler lautet 'constexpr' does not name a type.
Lösung: g++ verwendet einen alten C++-Standard. Beim Kompilieren muss daher der Standard angegeben werden: g++ --std=c++20 main.cpp. Die Option können Sie auch in .vscode/tasks.json eintragen; das muss für jedes neue Programm erneut geschehen. Auf älteren Systemen reicht für BitmapPlusPlus.hpp auch der C++-Standard aus dem Jahr 2011, also g++ --std=c++11 main.cpp.
Programm kann keine Eingaben lesen
Problem: Unter macOS kann ein Programm, das mit der Standardkonfiguration gestartet wird, keine Eingaben von der Kommandozeile lesen.
Lösung: Zwei Dateien regeln das Bauen und Ausführen von C++-Dateien in Visual Studio Code. Sie liegen im Projektordner unter .vscode.
Die Datei tasks.json regelt den Übersetzungsprozess. Der hier definierte Task wird für die Ausführung benötigt.
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ Aktive Datei kompilieren",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${fileDirname}/*.cpp",
"-o",
"${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Vom Debugger generierte Aufgabe."
}
],
"version": "2.0.0"
}
Die Datei launch.json regelt die Ausführung des Programms:
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ - Bauen und Ausführen der aktiven Datei.",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb",
"preLaunchTask": "C/C++: g++ Aktive Datei kompilieren"
}
]
}
Wichtig ist hierbei, dass das Attribut externalConsole den Wert true hat, damit das Programm in einer externen Konsole geöffnet wird. Diese externe Konsole ermöglicht dann auch Ein- und Ausgaben über das Terminal.
Unter macOS wird die Datei launch.json oft nicht automatisch im Ordner .vscode angelegt. Um externalConsole auf true zu setzen, müssen Sie diese Datei daher zuerst erzeugen. Klicken Sie dazu auf das Zahnrad rechts neben dem Run/Debug-Button, mit dem Sie Ihr Programm starten, und wählen Sie – wie bei der ersten Programmausführung – die Option mit g++ build and debug active file (bzw. clang++ build and debug active file) im Namen aus. Anschließend liegt in Ihrem Ordner .vscode eine Datei launch.json, die Sie bearbeiten können.