Boost Lib mit MinGW erstellen

Nach langer Suche wurde ich endlich fündig wie denn nun die Boost-Bibliothek zu übersetzen ist.

Hier die vorgehensweise:

  1. Zürst muss die Bibliothek von http://www.boost.org/users/download/ geladen werden, und in einen beliebigen Ordner entpackt werden. (z.B.: C:\boost)

  2. Nun wird noch bjam benötigt welches Sie ebenso unter der Addresse die bei 1. genannt wird finden. Laden sie die Datei mit der Endung ntx86.zip, welches Sie am besten ins gleiche Verzeichniss entpacken.

  3. Erzeugen Sie einen Unterordern, in dem sich boost installieren soll. (zB: .\distrib)

  4. In der Datei .\tools\build\v2\user-config.jam können Sie optional die Zeile:

    using mpi;
    

    hinzufügen, für die Unterstüzung des MPI (Message Passing Interface) zu unterstützen.

  5. Erstellen sie nun einfacherweise im Boost-Verzeichniss eine Datei mit dem Namen boost_install.cmd und fügen den nachfolgenden Text ein:

    SET BOOSTDIST=C:\Boost\  
    bjam -prefix=%BOOSTDIST% -toolset=gcc -layout=system -without-mpi -without-python -variant=release -link=dynamic -runtime-link=static stage  
    bjam -prefix=%BOOSTDIST% -toolset=gcc -layout=system -without-mpi -without-python -variant=release -link=dynamic -runtime-link=static install
    xcopy %BOOSTDIST% <MinGW-Root>
    pause
    
    • prefix legt das Installationsverzeichniss fest
      • toolset legt den Compiler mit dem übersetzt werden soll fest
      • -layout=system verhindert, dass bjam den Namen des Compilers und die Boost-Version in die Dateinamen der Binaries aufnimmt
      • mpi und phyton werden ausgeschlossen (dies kann auch weggelassen werden)
      • Ansonsten wird bjam aufgefordert Bibliotheken zu erzeugen, die die STL statisch hinzulinken und dynamisch zum Programm gelinkt werden
        • stage => übersetzt alles wie gewollt ins Unterverzeichnis .\stage\
        • install => kopiert alle wichtigen Dateien ins %BOOSTDIST% Verzeichniss das mit xcopy ins MinGW-Root-Verzeichniss kopiert wird