Boost mit MinGW64

Zuerst brauchen wir eine Lauffähige MinGW64 Umgebung. Eine Installationsleitung findet man dazu hier.

Nachdem man MinGW64 besitzt sollte man sich noch die Quellen von boost holen, am einfachsten von Ihrer Website boost laden. Es wird eigentlich nur die boost-Quellen selbst benötigt, da in diesem auch immer die Quellen von bjam dabei sind. Und hier findet man noch eine Installation zu Perl, wovon boost nicht abhängig ist, aber wenn man Sie installieren möchte dann vor dem übersetzten.

Nun müssen die Quellen noch entpackt werden. Und dann stellen wir uns in den entpackten Ordner mit der Eingabeaufforderung.

Mit dem Nachfolgenden Befehl wird die Pfad Variable so gesetzt das ein direkter Aufruf der Komponenten möglich ist, wobei der Pfad entsprechend angepasst werden muss:

SET PATH=C:\Programme\MinGW64\bin;%PATH%

Nun erstellen wir uns bjam mit folgendem Aufruf direkt im boost-src Ordner:

# Damit hat er bei mir immer den MS Compiler benutzt 
bootstrap.bat
# oder:
tools\jam\src\build.bat [COMPILER] (zB msvc, gcc, ...)

Da bei mir der Aufruf von build.bat mit mingw oder gcc nicht funktioniert hat, hab ich denn die Datei “x86_64-w64-mingw32-gcc.exe” im bin-Verzeichnis in “gcc.exe” umbenannt und dann build.bat nochmals mit gcc aufgerufen und schon ging es! Dafür musste ich dann die bjam.exe per Hand aus dem “bin.ntx86_64”-Ordner in die Root des boost-Ordners kopieren.

Und nun wird boost erstellt. Dies wird mit folgenden Befehlen durchgeführt, einer für die statischen Libs und einer für dynamischen Libs:

bjam -prefix=<PfadErstellteDateien> -without-mpi -without-python toolset=gcc address-model=64 variant=release link=static threading=multi install  
bjam -prefix=<PfadErstellteDateien> -without-mpi -without-python toolset=gcc address-model=64 variant=release link=static threading=multi install

Die “-without.."-Parameter werden nicht unbedingt gebraucht, so sieht man aber keine Meldungen darüber. Nun müssen entweder die Dateien noch ins MinGW Verzeichnis kopiert werden oder in der IDE die Pfade passend gesetzt werden.

Da ich mir die ganzen Kommandos nicht immer einzeln tippen wollte bei jedem neuen Version hab ich mir ein kleines Batch-File geschrieben, welches eine Ebene höher als die Root der Quellen von boost abgelegt ist. In diesem werden am Anfang alle Pfade gesetzt und die Datei nur noch ausgeführt werden. So muss auch bei jeder neuen Version nur die Pfadangabe angepasst werden und die Datei nochmal ausführen damit mit der aktuellen Version gearbeitet werden kann. Hab die Datei aber immer aus der Eingabeaufforderung gestartet, durch Doppeltklick ging irgendwie immer was schief. Hier die Datei: boost_install.cmd (Download am einfachsten übers den Punkt Verlinkten Inhalt speichern unter… im Kontextmenü)