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.
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.
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).
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.
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.
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:
OK klicken.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.
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.
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!
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.
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.