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 http://www.boost.org/users/download/ 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:

bootstrap.bat  ‚ Damit hat er bei mir immer den MS Compiler benutzt
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 jeder 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 (Das .txt muss durch .bat oder .cmd ersetzt werden, Download am einfachsten über Punkt „Verlinkten Inhalt speichern unter…“ im Kontextmenü)

Dieser Beitrag wurde unter CPP, Windows veröffentlicht. Setze ein Lesezeichen auf den Permalink.

3 Responses to Boost mit MinGW64

  1. admin sagt:

    Ah okay vielen dank,

    Das hab ich auch noch gesucht, weil mein threads gingen nicht. Wahrscheinlich fehlen da aber nur die pthread dateien um ohne windows_h zu übersetzen.

    Marc-O

  2. Andreas sagt:

    vielen dank für die batch datei, aus der bjam doku bin ich nicht schlau geworden 😉
    64bit ist echt die beste erfindung 111!!! endlich kann man auch 8GB Speicher zumüllen ohne crash 😉

  3. Andreas sagt:

    noch wichtig:
    define=BOOST_USE_WINDOWS_H

    sonst gibts einen Fehler bei boost.thread
    –>
    bjam –prefix=%BOOSTDIST%\ toolset=gcc address-model=64 variant=release link=static threading=multi define=BOOST_USE_WINDOWS_H install

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.