BOOST

Ich habe mich entschieden für meine Projekte, die ich meistens mit C++ entwickle, öfter und intensiver Boost-Bibliotheken einzusetzen.

Build

Hier beschreibe ich nur wie du binäre Bibliotheken bauen kannst, denn die meisten Boost-Teile kannst du so einsetzen wie sie da sind. Diese brauchst du nur zu inkludieren.

Ein Beispiel dafür findest du hier:  Build a Simple Program Using Boost

Vorbereitung

Nachdem du boost in ein Ordner ausgepackt hast, musst du ein Visual-Studio-Command-Prompt in diesem Ordner starten. Dann in diesem Ordner findest du Batch-File “Bootstrap.bat” dies musst dann einmal mal aufrufen.

Nachdem diese Batchfile durchgelaufen ist, findest du in dem Ordner zwei neue Dateien: “b2.exe” und “bjam.exe”. Diese Dateien werden für bauen von Boost-Bibliotheken benötigt. Diese kannst du dir so vorstellen wie “make” oder “ant”.

jetzt kannst du z.B. “.b2 –help”  aufrufen um eine liste von allen möglichen Parametern zu bekommen die du zum bauen von Boost-Bibliotheken verwenden kannst.

“b2.exe” hat zwei Targets : “install” und “stage”.
install” generiert einen einsatzfähigen Umgebung indem Header sowie erzeugte Bibliotheken indem gegebenen Ordner kopiert werden.
satge” dagegen kopiert nur erzeugten Bibliotheken in gegebenen Ordner.

Hier eine Liste von den wichtigen Parametern, die du in Zusammenhang mit beiden Targets(“install” , “stage”) benutzen kannst:

–Build-dir=DIR (Empfohlen) hiermit kannst du einen Ordner angeben, wo boost-Bibliotheken gebaut werden müssen.
link=static|shared Erzeuge statische (.lib) oder dynamische(.dll) Version of Bibliotheken.
variant=debug|release Erzeuge “debug” oder “release”-Version auf Bibliotheken.

Für den “install”-Target kannst du zusätzlich diese Angaben benutzen:

–prefix=<PREFIX> Installiere Architektur unabhängige Dateien in diesem Ordner.(Wenn du keine weitere Angaben machst Architektur-Abhängige Dateien werden auch hier installiert)
–libdir=<DIR> Installiere erzeugte Bibliotheken in diesem Ordner. ( Falls nicht angegeben: <PREFIX>/lib  wird benutzt)
–includedir=<HDRDIR> installiere Header-Files hierher. (Falls nicht angegeben: <PREFIX>/include  wird benutzt)

Ich empfehle hierfür ein batch-file anzulegen, welches du dann aus VS-Commandline ohne parameter aufrufen kannst.