Boost-Build



  • Hi, das ist jetzt mehr ein Boost-spezifisches Problem, aber hier kennen sich ja auch einige mit boost aus, daher frag ich hier mal nach.
    Und zwar versuche ich gerade die neuste Version für VC2008 zu kompilieren und folge demzufolge den Instruktionen.
    Also versuche erstmal dieses merkwürdige Build System von Boost zum laufen zu bringen und das erste Example zu kompilieren.
    Allerdings funktioniert das nicht wirklich, kriege aber ne Menge output

    C:\boost_1_35_0\boost-build\example\hello>bjam
    syntax error at EOF
    warning: No toolsets are configured.
    warning: Configuring default toolset "msvc".
    warning: If the default is wrong, your build may not work correctly.
    warning: Use the "--toolset=xxxxx" option to override our guess.
    warning: For more configuration options, please consult
    warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

    ...found 9 targets...
    ...updating 5 targets...
    MkDir1 bin
    MkDir1 bin\msvc-9.0express
    MkDir1 bin\msvc-9.0express\debug
    compile-c-c++ bin\msvc-9.0express\debug\hello.obj
    "\Utilities\Bin\x86";C:\Programme\Microsoft DirectX SDK (April 2007)\Utilities\B
    in\x86;"C:\Programme\Microsoft" ist syntaktisch an dieser Stelle nicht verarbeit
    bar.

    call "C:\Programme\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 >nul
    cl /Zm800 -nologo @"bin\msvc-9.0express\debug\hello.obj.rsp"

    ...failed compile-c-c++ bin\msvc-9.0express\debug\hello.obj...
    ...skipped <pbin\msvc-9.0express\debug>hello.exe for lack of <pbin\msvc-9.0expre
    ss\debug>hello.obj...
    ...failed updating 1 target...
    ...skipped 1 target...
    ...updated 3 targets...

    Wirklich viel gemacht habe ich noch nicht, die Konfiguration in der user-config.jam beschränkt sich auch darauf, dass ich nach einem leerzeichen using msvc; geschrieben habe.

    was muss ich noch tun um das Build System richtig einzurichten?(Warum machen dies eigentlich so kompliziert?)



  • Die machen das nicht kompliziert. Wie immer gilt: Das Problem sitzt meistens nicht im sondern vorm Rechner!

    Das Boost-Build ist ziemlich genial, und löst etliche Probleme, die die Booster sonst hätten. Und in Wirklichkeit ist das BBv2 easy zu benutzen, eigentlich muß man nur eine Kommando in der Konsole absetzen.

    Kurzanleitung für quick und dirty: bjam.exe in das C:\Boost-Hauptverzeichnis kopieren. In der VisualStudio Command Prompt unter Start⇒Programme⇒MS Visual Studio⇒VS Tools nach C:\Boost wechseln, und bjam msvc eingeben und staunen.

    In irgendwelchen Configs braucht man nichts ändern, wenn man bjam einmal nutzen will.
    Mit bjam --help kann man Hilfe abrufen.



  • Übrigens wird alles sehr gut im Boost Getting Started erklärt. Weiterhin als Tip: man muß nur dann die Libs bauen, wenn man bestimmte Libs nutzt. Die meisten Boost-Libs sind Header-Only.



  • Mag zwar genial sein, aber kompiliziert ist es trotzdem.
    Und ich will die boost Filesystem lib benutzen, die ist leider nicht header only

    naja, aber darum gehts ja auch nicht, sondern dass es bei mir nicht funktioniert.
    Jedenfalls hab ich mal bjam --msvc aufgerufen mit folgendem Ergebnis

    ...failed updating 159 targets...
    ...skipped 31 targets...
    ...updated 72 targets...

    Das selbe wenn ich genau das eingebe was im getting started beschrieben wird.

    Wenn ich dann versuche das Hello World Example zu kompilieren krieg ich den selben Fehler wie vorher auch



  • Sorry, nimm mal die zwei Minus weg. Hatte ich zu spät korrigiert.

    Sind die Libs jetzt gebaut oder nicht? Schau doch mal in das Zielverzeichnis. Und hast du auch das fertige Lib-Verzeichnis in deine IDE aufgenommen?



  • Vielleicht hilft das? Ist aber sehr alt.

    Tip um BBv2 zu verstehen: http://magazin.c-plusplus.net/artikel/Build-Systeme Teil 4%3A Boost.Build v2



  • Ich habe gemäß der Anleitung in deinem Post bjam mal gelöscht und versucht neu zu kompilieren(ich glaube das andere war auch noch von der alten Boost version, welche ich mit Installer installiert habe)
    wenn ich nun die build.bat ausführe kriege ich folgende FEhlermeldung die auch schon Teil des Fehlers ganz am Anfang war

    C:\boost_1_35_0\boost-build\jam_src>build.bat
    "\Utilities\Bin\x86";C:\Programme\Microsoft DirectX SDK (April 2007)\Utilities\B
    in\x86;"C:\Programme\Microsoft" ist syntaktisch an dieser Stelle nicht verarbeit
    bar.



  • Ich glaub ich hab Blödsinn mit der PATH Variable angestellt.
    Jedenfalls sieht sie zwar, so wie ich das sehe, wieder so aus wie vorher, aber der Fehler kommt nicht mehr
    genauer gesagt passiert jetzt einfach NICHTS

    C:\boost_1_35_0\boost-build\jam_src>build.bat

    C:\boost_1_35_0\boost-build\jam_src>build



  • Vergesst den letzten Post einfach, die Dummheit war eher, dass ich es irgendwie geschafft hab die bat zu leeren
    Bitte auf den Post davor beziehen


Anmelden zum Antworten