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 outputC:\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 onlynaja, 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 warC:\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 NICHTSC:\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