Boost compillieren



  • Hallo,

    hab Schwierigkeiten Boost zu compillieren.

    Hab "boost_1_44_0.zip" und "boost-jam-3.1.18-1-ntx86.zip" runtergeladen und entpackt. bjam.exe in das entpackte Boost Verzeichnis kopiert. Wenn ich bjam.exe starte dann compiliert er mir für msvc 10.0. Ich hab msvc 9.0 und 10.0 und will das für 9.0 compillieren. Hab auch schon mit einer Batch Datei versucht auf msvc 9.0 zu compillieren aber dann macht er trozdem 10.0?

    Batch Code:

    bjam --toolset=msvc-9.0 --build type=complete stage
    

    Mit dem Installer hab ich auch schon versucht aber da gibts downalod error



  • Hast du denn vorher auch die richtige vcvars32.bat ausgeführt? Boost wir vermutlich anhand dieser Umgebung entscheiden, für welche Compilerversion übersetzt wird.



  • Nein. Wo finde ich die (hab die nicht) oder was soll drinne stehen?



  • 1. boost entpacken.
    2. bootstrap.bat ausführen! (erstellt bjam)
    3. bjam mit deienen richtigen parametern starten

    Was heißt hier du hast das in das boostverzeichnis kopiert? woher hast du bjam?

    http://devsql.blogspot.com/2007/05/building-boost-134-for-x86-x64-and-ia64.html

    Außerdem heisst es --build-type=complete und ist idr. überflüssig



  • 1. hab ich
    2. hab ich, erstellt ein Log Datei und da steht "Setting environment for using Microsoft Visual Studio 2010 x86 tools." ich will aber für 2008 compillieren.

    Und die bjam.exe hab ich von :
    http://sourceforge.net/projects/boost/files/boost/1.44.0/
    ganz oben grüner Button



  • ghostboss schrieb:

    Nein. Wo finde ich die (hab die nicht) oder was soll drinne stehen?

    Unter "Start/Programme/Visual Studio" gibt es meist einen Ordner Tools oder so ähnlich, der eine Verknüpfung auf eine Eingabeauforderung enthält.

    Erzeugst du damit eine Konsole werden die Umgebungsvariablen automatisch gesetzt.

    Bei dir müssten unter Start Programme zwei Ordner mit "Visual Studio" vorhanden sein, die jeweils im Unterordner "Tools" so eine Verknüpfung auf Eingabeaufforderung enthalten.

    Nimm die für Version 2008 und probier es damit.



  • C:\Programme\Visual Studio\VC\vcvarsall.bat



  • Hab das Cmd von 2008 genommen aber trozdem in der Log Datei seht dann ganz oben "Using 'vc10' toolset."



  • So, habs geschafft für 9.0 zu kompillieren.

    Jetzt kriege ich aber diesen Fehler:
    1>LINK : fatal error LNK1104: Datei "libboost_signals-vc90-mt-gd-1_44.lib" kann nicht geöffnet werden.

    Hab schon wie beschreiben den Verzeichnis in Konifgurations eingestellt: Konfig. -> C/C++ -> Allgemein -> Zusätzliche Includeverzeichnisse = C:\boost_1_44_0



  • ghostboss schrieb:

    So, habs geschafft für 9.0 zu kompillieren.

    Könntest du noch Angaben dazu machen, woran es genau lag? Wer weiß, wem das noch nützt. 🙂


  • Administrator



  • ghostboss schrieb:

    So, habs geschafft für 9.0 zu kompillieren.

    Jetzt kriege ich aber diesen Fehler:
    1>LINK : fatal error LNK1104: Datei "libboost_signals-vc90-mt-gd-1_44.lib" kann nicht geöffnet werden.

    Hab schon wie beschreiben den Verzeichnis in Konifgurations eingestellt: Konfig. -> C/C++ -> Allgemein -> Zusätzliche Includeverzeichnisse = C:\boost_1_44_0

    Den Fehler kenne ich 😉

    Entweder du hast für die falsche Version die Libs erstellt, oder deine Include/Lib einstellungen stimmen in VS Studio nicht.

    Vorgehen:
    1. Suche nach der Datei
    2a. Lib gefunden: Pfade für Include und Lib überprüfen
    2b. Lib nicht gefunden: Erneut Bjam anwenden und für msvc-9.0 erstellen

    Wenn du mit Stage erstellt hast, dann liegen die Dateien im STAGE-Verzeichnis, bei install aber unter C:\boost !!!!



  • Boost kompillieren:
    1. boost_1_44_0.zip (download/entpacken)
    2. mit cmd (oder cmd von msvc-2008) zu "boost_1_44_0" Verzeichnis wechseln
    3. "bootstrap.bat" eingeben (und etwas abwarten)
    4. ".\bjam --toolset=msvc-9.0 --build-type=complete" eingeben
    5. fängt an zu kompilliern ca. 30 - 60 Min.

    Am Anfang komman da ein paar Zeilen wo msvc-10.0 auftauchen und das hat mich einbisschen irritiert aber das ist nur für config und dann kompilliert er für msvc-9.0



  • Ist diese datei auf deinem PC "libboost_signals-vc90-mt-gd-1_44.lib"?

    wenn ja falsche includes in VS2008, wenn nein falsch erstellt...

    ghostboss schrieb:

    4. ".\bjam --toolset=msvc-9.0 --build-type=complete" eingeben

    stage oder install ?



  • Jo hab bei stage die Datei gefunden.
    Hab Optionen -> P. und P. -> VC++ - Verzeichnisse -> Bibliothekdateien = C:\boost_1_44_0\stage\lib

    und es geht 🙂


Anmelden zum Antworten