Hinweise zur Einrichtung von Code::Blocks

Make als alternative zur IDE

Wenn Sie im Verzeichnis z.B. beispiele/kap1
make
angeben, werden die dort vorhandenen Dateien übersetzt. Dabei werden abgesehen von Warn- und Fehlermeldungen die Befehle an den Compiler und den Linker angezeigt. Es geht darum, dass eine integrierte Entwicklungsumgebung (IDE) genau diese Befehle auch absetzt! Man kann das Build log der IDE mit der Ausgabe von make vergleichen, um Fehlern in der IDE-Einstellung auf die Schliche zu kommen.

Einstellungen für Code::Blocks

Die angegebenen Einstellungen setzen voraus, dass der unter  Downloads  für Windows angebotene MinGW-Compiler installiert wurde. Seien Sie bei der Eingabe sehr sorgfältig! Schon kleine Tippfehler führen dazu, dass Code::Blocks nicht wie beabsichtigt funktioniert. Klicken Sie nun auf die CbLauncher-Verknüpfung, die Sie auf dem Desktop angelegt haben. Code-Blocks kennt jetzt noch keinen Compiler und zeigt für mögliche Compiler ein ausgegrautes Feld an.

Code::Blocks noch ohne Compiler

Klicken Sie auf OK. Im folgenden Fenster klicken Sie "No, leave everything as it is" falls Sie zum Beispiel schon einen Editor mit *.cpp assoziiert haben. Andernfalls können Sie *.cpp mit Code::Blocks assoziieren. Klicken Sie nun oben "Settings", dann "Compiler" und im erscheinenden Fenster auf den Reiter "Toolchain executables". Dort löschen Sie "mingw32-" aus allen Bezeichnern, falls vorhanden, d.h. aus mingw32-gcc.exe wird gcc.exe usw (siehe Bild).

Toolchain executables

Klicken Sie auf OK unten. Klicken Sie noch einmal oben "Settings", dann "Compiler" und im erscheinenden Fenster setzen Sie einen Haken bei "Have g++ follow the C++20 ISO C++ language standard". Scrollen Sie nun herunter und setzen Haken bei den Warnungen, wie auf dem Bild zu sehen.

Compiler settings Warnings

Sie können zusätzlich die Warnung -Weffc++ einschalten, aber Sie erhalten dann sehr viele Warnungen, die sich auf die Grafik-Bibliothek beziehen. Das Ergebnis ist entsprechend unübersichtlich. Daher empfehle ich, diese Warnungsoption erst nach Beseitigung aller bekannten Fehler oder als Hilfe zur Fehlersuche einzuschalten.

Umgebungsvariable hinzufügen

Diese Variable wird für die Einbindung der SFML-Bibliothek benötigt. Der Vorteil: Wenn mal andere Verzeichnisse verwendet werden, ist nur an dieser Stelle eine Änderung erforderlich. Für die Umgebungsvariablen den Reiter "Settings" und dann "Environment" anklicken und auf der linken Seite bis zu "Environment variables" herunterscrollen. Dann "Environment variables" anklicken und mit "Add" SFML_HOME und C:/cppbuchtools/sfml eintragen, siehe Abbildung:

Umgebungsvariable einstellen

OK klicken.

Include-Verzeichnis einstellen

Tragen Sie unter "Settings", "Compiler", "Search directoriesr", "Compiler", mit "Add" das Include-Verzeichnis ein (siehe Bild). Dieses Verzeichnis wird für die grafischen Beispiele benötigt. Dann "OK" klicken.

lib
 dirs einstellen

Library-Verzeichnisse einstellen

Tragen Sie unter "Settings", "Compiler", "Search directoriesr", "Linker", mit "Add" die Verzeichnisse ein (siehe Bild). Das SFML-Verzeichnis wird für die grafischen Beispiele benötigt. Dann "OK" klicken.

lib
 dirs einstellen

Bibliotheken bekannt machen

Das kann global geschehen oder speziell für das jeweilige Projekt. Die projektbezogene Einstellung wird über "Project" und "Build options" erreicht. Der Einfachheit halber wird hier die globale Einstellung gewählt. Die einzutragenden Bibliotheken sind nur für die grafischen Beispiele notwendig. Bitte die Reihenfolge beim Eintragen beachten!

libs einstellen

Einbindung prüfen

Wenn Sie nun eine Datei übersetzen, müsste danach am Anfang im "Build log" (Button unten direkt links neben Build messages) etwa Folgendes bei einem Programm mit Grafik und Audio stehen (Achtung: Die Verzeichnisnamen sind höchstwahrscheinlich nicht dieselben wie Ihre!):

g++.exe -Wall -fexceptions -g -pedantic -Wfatal-errors -Wextra -Wall -std=c++20 -IC:/cppbuchtools/sfml\include -c C:\Users\me\Documents\codeblocks_spiel\main.cpp -o obj\Debug\main.o g++.exe -Wall -fexceptions -g -pedantic -Wfatal-errors -Wextra -Wall -std=c++20 -IC:/cppbuchtools/sfml\include -c C:\Users\me\Documents\codeblocks_spiel\Spiel.cpp -o obj\Debug\Spiel.o g++.exe -LC:/cppbuchtools/sfml\lib -o bin\Debug\codeblocks_spiel.exe obj\Debug\main.o obj\Debug\Spiel.o -lsfml-graphics -lsfml-window -lsfml-audio -lsfml-system
Process terminated with status 0 (0 minute(s), 3 second(s))
0 error(s), 0 warning(s) (0 minute(s), 3 second(s))

Wenn main() Argumente erwartet, müssen Sie vor dem Starten eingetragen werden.

Wo werden die Code::Blocks-Einstellungen gespeichert?

Alle Ihre Einstellungen werden im Verzeichnis C:\Users\IhrName\AppData\Roaming\CodeBlocks gesichert. Wenn es Probleme gibt, etwa weil dort noch eine Konfiguration für eine vorherige Code::Blocks-Konfiguration steht, löschen Sie das Verzeichnis und geben Sie die Einstellungen neu ein. Das empfiehlt sich auch bei fehlerhaften und nachträglich korrigierten Angaben, wenn sich ein Fehler hartnäckig hält.