http://www.pronix.de -> Tutorials -> Compiler-Anleitungen (C++) -> Code::Blocks -> Boost verwenden


Code::Blocks: Boost verwenden
1.  Wie schon bei der kostenlosen Version von Visual C++ 2008 Express Editon müssen Sie Boost selbst übersetzen. Zunächst müssen Sie sich hierbei den neuesten plattformunabhängigen Quellcode von Boost bei Sourceforge herunterladen. Hierbei können Sie sich auch gleich das neueste boost-jam herunterladen, was Sie zum Bauen von Boost brauchen.

2.  Im Gegensatz zum Visual C++-Compiler dürfte es eher unwahrscheinlich sein, dass die Umgebungsvariable PATH für den MinGW-Compiler richtig eingerichtet ist. Dies ist übrigens ein häufiges Problem, warum es nicht klappt, sich sein eigenes Boost zu bauen. Suchen Sie sich also zunächst den Pfad, wo MinGW installiert ist. Sollten Sie MinGW gleichzeitig mit Code::Blocks installiert haben, finden Sie den Pfad im Verzeichnis von Code::Blocks. Ich habe MinGW nachträglich installiert und somit lautet mein bin-Verzeichnis zum Compiler und Linker C:\MinGW\bin und zum libexec-Verzeichnis C:\MinGW\libexec\gcc\mingw32\3.4.5.

3.  Jetzt müssen Sie die Systemeigenschaften öffnen (bspw. über Systemsteuerung * System * Erweiterte Systemeinstellungen oder Arbeitsplatz * Eigenschaften). Beim sich öffnenden Dialog Systemeigenschaften finden Sie einen Reiter Erweitert und darunter eine Schaltfläche Umgebungsvariablen..., welche Sie jetzt anklicken dürfen.

Code::Blocks: Boost verwenden; Umgebungsvariable PATH für den MinGW-Compiler

4.  Jetzt müssen Sie bei Systemvariablen (Achtung nicht gleichzusetzen mit den Benutzervariablen für User) eine neue Variable bei Path hinzufügen. Vermutlich werden hierbei schon eine ganze Menge an Pfaden vorhanden sein. Wählen Sie entweder Path in der Liste aus und klicken Sie auf Bearbeiten,  oder falls Path bereits existiert, klicken Sie auf die Schaltfläche Neu.

Code::Blocks: Boost verwenden; Umgebungsvariable PATH für den MinGW-Compiler

5.  Fügen Sie jetzt die Pfade zum bin- und libexec-Verzeichnis ans Ende aller (falls mehrere Pfade bereits vorhanden sind) Path-Variablen. Beachten Sie, dass Sie die einzelnen Pfade mit einem Semikolon trennen müssen. Bestätigen Sie den Dialog mit der Schaltfläche Ok.

Code::Blocks: Boost verwenden; Umgebungsvariable PATH für den MinGW-Compiler


6.  Um Boost zu Übersetzen benötigen Sie die Kommandozeile (cmd.exe). Als nächstes müssen Sie sicherstellen, dass boost-jam in der Umgebungsvariable PATH vorhanden ist. Dies können Sie bspw. in der Kommandozeile folgendermaßen einrichten (ausgehen davon, dass sich boost-jam im Verzeichnis C:\boost-jam-3.1.17-1-ntx86 befindet:

Code::Blocks: Boost verwenden; Boost bauen

7.  Als nächstes sollten Sie mit cd in das Verzeichnis wechseln, wo Sie den Quellcode zu Boost enpackt haben. Im Beispiel habe ich Boost nach C:\boost_1_38_0 entpackt:

Code::Blocks: Boost verwenden; Boost bauen

8.  Hier können Sie jetzt boost-jam (bjam.exe) zum Bauen von Boost verwenden. Mit der Option --toolset geben Sie den Compiler an (hier gcc) und hinter --prefix den Installationspfad der Headerdateien und Bibliotheken von Boost:

Code::Blocks: Boost verwenden; Boost bauen

Code::Blocks: Boost verwenden; Boost bauen

Der Vorgang kann jetzt ein paar Minuten dauern, was natürlich auch vom PC abhängt. Mit dieser Variante werden die Release-, Multithreaded- und DLL-Versionen der Boost-Bibliothek erstellt. Wollen Sie hingegen eine andere Variante müssen Sie dies mit der Option --build-type angeben. Geben Sie hierbei bspw. complete an, wird Boost komplette übersetzt und installiert, was natürlich erheblich länger dauert.

9.  Nachdem Sie Boost selbst "gebaut" haben, können Sie anfangen, Anwendungen mit Boost zu erstellen. Da hier bspw. für das Verzeichnis von Boost C:\boost verwendet wurde, finden Sie im Verzeichnis C:\boost\include\boost-1_38 die Headerdateien und im Verzeichnis C:\boost\lib die Bibliotheken. Voraussetzung, dass Sie Anwendungen mit Boost erstellen können, ist, dass Sie ein neues Projekt mit Code::Blocks wie im Abschnitt Mehrere Quelldateien- und Headerdateien übersetzen gezeigt wurde, erstellen. Hier soll zum Beispiel das Listing regex1.cpp aus dem Buch übersetzt werden. Wenn Sie ein neues Projekt erstellt haben, können Sie die Optionen dafür über das Menü Project mit dem Befehl Build options... einstellen.

Code::Blocks: Boost verwenden

10.  Im jetzt folgenden Dialog Project build options wählen Sie jetzt den Reiter Linker settings aus, um den Pfad zur regex-Bibliothek anzugeben. Klicken Sie hierzu auf die Schaltfläche Add und wählen Sie anschließend im sich öffnenden Dialog Add library die regex-Bibliothek (hier bspw. mit dem Namen libboost_regex-mgw34-mt.lib) im Verzeichnis C:\boost\lib (bzw. eben den Pfad, wo Sie Boost gebaut haben) aus und bestätigen Sie den Dialog mit Ok.

Code::Blocks: Boost verwenden

11.  Was für den Linker die Bibliothek ist, ist für den Compiler die Headerdatei. Damit der Compiler weiß, wo er die Headerdatei suchen soll, wählen Sie im Dialog Project build options den Reiter Search directories aus. Darunter finden sich weitere Reiter, wo Sie lediglich den Reiter Compiler benötigen. Klicken Sie hierbei auf die Schaltfläche Add und wählen Sie jetzt im Dialog Add directory den Pfad zu den Boost Headerdateien (in meinem Beispiel ist dies C:\boost\include\boost-1_38)  aus und klicken Sie anschließend auf die Schaltfläche Ok. Den Dialog Project build options können Sie jetzt auch mit Ok bestätigen und schließen. Beachten Sie hierbei, dass Sie diese Projekt-Optionen extra noch mit File * Save Project speichern müssen, wenn die Einstellungen beim nächsten Start des Projektes in Code::Blocks vorhanden sein sollen.

Code::Blocks: Boost verwenden

12.  Jetzt können Sie das Projekt wie gewohnt mit Build * Build and run (bzw. F9) übersetzen und ausführen. Das Programm bei der Ausführung:

Code::Blocks: Boost verwenden