In dem Stream geht es im die C++ boost Bibliothek. Diese bietet viele interessante Erweiterungen zur Sprache C++, ist weit verbreitet und dank der freien Lizenz fast uneingeschränkt nutzbar. So sind viele Teile von boost mittlerweile Standard, andere befinden sich in Prozessen zur Standardisierung. Neben der bekannten asio Bibliothek, gibt es eine Reihe nützlicher Tools, die wir in den folgenden Streams auch verwenden wollen.
Nach den ersten Vorbereitungen übersetzen wir die boost Bibliothek auf dem kleinen Raspberry. Hier noch mal die Übersicht für die Schritte:
Boost ist eine Open Source Library, die im Bereich des C++ Standardkomitees entstanden ist, und viele Teile bereitstellt, die es nicht in den Standard geschafft haben. Es besteht aus einer Reihe von Teilbibliotheken in den verschiedensten Bereichen, Kommunikation, Netzwerk, Ablaufsteuerung, Modellierung, Numerik, Statistik, ... Einige dieser Teilbibliotheken wurden in den letzten Jahren in den Standard übernommen, andere sind nur in boost selber verfügbar.
Herunterladen von boost von der Seite boost.org/users/download/
Aktuelle Version ist jetzt 1.84.0
Auspacken des Archives:
~: tar xzf boost_1_84_0.tar.gz
Wechseln in das Verzeichnis mit den ausgepackten Sourcedateien:
~: cd boost_1_84_0
boost verfügt über ein eigenes Build- und Testsystem. Dieses wird ähnlich wie cmake genutzt. Im ersten Schritt wird das System analysiert, vorgeprüft und dann die entsprechenden Builddateien erzeugt. Im zweiten Schritt dann übersetzt.
Vorbereiten der Installation:
~: ./bootstrap.sh
Übersetzen und bauen der dynamischen Bibliotheken
~: ./b2
Installieren der Ergebnisse auf dem Rechner mit administrativen Rechten
~: sudo ./b2 install
Und last but not least, das haben wir heute im Stream gesehen, muss der Cache des Loader, der die dynamischen Bibliotheken bereitstellt, aktualisiert werden (Datei /etc/ld.so.cache). Auch hier brauchen wir administrative Rechte und nutzen sudo.
~: sudo ldconfig
Aber wir warten nicht einfach. Deshalb geht es erst einmal ans Whiteboard und wir beschäftigen uns mit der "Aufgabe", die wir uns stellen werden. Eine Bedarfsampel für Fußgänger mit Hilfe der boost State Chart Library auf dem Raspberry PI zu entwickeln und mit Hilfe von LEDs und Schaltern auch wirklich umzusetzen. Neben den Events spielen die Statusse eine Rolle.
Nach dem boost auf dem Rechner installiert ist, beginnen wir in Visual Studio mit einer neuen Anwendung. Dazu noch einmal die Erklärungen, welche Anwendungstypen zur Verfügung stehen, und wie man mit Cmake- Projekten innerhalb von Visual Studio beginnt. Nachdem wir erfolgreich die boost Bibliotheken in das Cmake- Projekt integriert haben, geht es dann um eine erste Erklärung der boost statechart library.