Downloads und Hinweise für die 4. Auflage, Erstdruck

zum Buch "Der C++ Programmierer", 4. Auflage, Erstdruck 2015

Compiler für Windows, Beispiele für Windows und Linux

Download der Datei installgpp53.exe (ca. 98 MB). Ausführen dieser Datei auf einem Windows-System installiert den MinGW C++ Compiler 5.3 sowie die für die  Beispiele des Erstdrucks  benötigten Bibliotheken.

Geänderte Einstellungen für Codeblocks (und andere IDEs)

Nach Erscheinen des Buchs, in dem auf die Boost-Version 1.57 Bezug genommen wird, wurde die Software auf Boost 1.59 aktualisiert und es wurden weitere Umstellungen vorgenommen. Unter anderem wurde Boost in ein Unterverzeichnis von MinGW verlegt. Bitte ergänzen Sie die Informationen auf den Seiten 949-950 um die Folgenden:

Wenn Sie im Verzeichnis z.B. K24/boost
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.

Zuerst müssen dazu die Umgebungsvariablen in der IDE gesetzt werden (Reiter Custom variables). Gegenüber der Darstellung im Buch gibt es ein paar Änderungen, siehe Bild.

custom variables

Danach werden die Suchverzeichnisse für den Compiler eingetragen (ohne Bild). Danach wird das Bibliotheksverzeichnis für den Linker eingetragen, siehe Bild.

Linker-Suchverzeichnis

Danach werden die Bibliotheken eingetragen, siehe nächstes Bild. ACHTUNG: Ich habe festgestellt, dass Codeblocks einmal geschriebene, aber vielleicht fehlerhafte Einträge behält, auch wenn sie nicht mehr sichtbar sind. Daher vorher alle mit 'clear' löschen und dann neu eintragen!

Linker-Settings

Bisher habe ich nur die globalen Einstellungen verändert. Man könnte das auch projektbezogen machen, das habe ich nicht getestet. Globale Einstellungen verursachen weniger Arbeit, weil sie bei mehreren Projekten verwendet werden. Projektbezogene sind effizienter bei der Übersetzung, weil nur wirklich benötigte Bibliotheken angegeben werden.
Wenn Sie nun eine Datei übersetzen, müsste danach am Anfang im "Build log" (Button unten direkt links neben Build messages) etwa folgendes stehen (Achtung: Meine Verzeichnisnamen sind vermutlich nicht dieselben wie Ihre!):

g++.exe -Wall -fexceptions -g -pedantic -Wfatal-errors -Wall -std=c++14 -g -IC:\Users\me\Downloads\cppbuch53\cppbuch\include -IC:/MinGW/Boost/include/boost-1_59 -c C:\Users\me\Documents\boosttest\main.cpp -o obj\Debug\main.o

Hier weggelassen: Compiler Ausgabe mit Warnungen bei Boost-Programmen. Am Ende des Build logs müsste etwa stehen:

g++.exe -LC:\MinGW\Boost\lib -LC:\MinGW\lib -LC:\MinGW\Boost\lib -o bin\Debug\boosttest.exe obj\Debug\main.o -lboost_system-mgw53-mt-1_59 -lboost_filesystem-mgw53-mt-1_59
Output file is bin\Debug\boosttest.exe with size 399.98 KB Process terminated with status 0 (0 minute(s), 1 second(s)) 0 error(s), 7 warning(s) (0 minute(s), 1 second(s))

Mit diesen Ausführungen/Ergänzungen müsste die Einrichtung von Codeblocks für Boost klappen.