boost::thread kompilieren klappt nicht



  • Hallöchen allerseits,

    für eine Anwendung möchte ich Multithreading implementieren und dabei wollte ich gerne auf boost zurückgreifen.

    Die boost::thread-Library ist jedoch leider eine der wenigen boost-Libraries, die vor der Benutzung noch einzeln kompiliert werden muss. Und genau da liegt mein Problem.

    Ich nutze Windows 7 Professional 32bit mit MinGW und habe boost 1.46.0 heruntergeladen. Da es laut Dokumentation installer für boost gibt, hatte ich erstmal danach Ausschau gehalten, doch die, die ich gefunden habe, sind alle für Visual Studio.

    Also wollte ich über die mitgelieferte bootstrap.bat "bjam" und dann die Libs erstellen, doch schon beim Aufruf von bootstrap.bat kommt eine lange (mir) nichts sagende Nachricht und mehr passiert nicht.

    Ich komme auch irgendwie mit der Beschreibung zum Erstellen der boost-Libs auf der offiziellen Homepage nicht klar.

    Könnte mir jemand Schritt für Schritt erklären, was genau ich zu tun habe um an die Lib zu kommen?



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



    1. Eine Konsole aufmachen, in der die Pfade auf Deine MinGW-Installation (wichtig!) gesetzt sind (kannst Du prüfen in dem Du ein kleines "Hello World"-Programm in der Konsole compilierst). Dafür gibt es u.U. auch einen Eintrag im Startmenü.
    2. Nach %BOOST_DIR%/ gehen und booststrap.bat ausführen ( %BOOST_DIR% ist Dein boost-Wurzelverzeichnis)
    3. Nach %BOOST_DIR%/ gehen und bjam --toolset=gcc --build-type=complete stage eintippen
    4. Rödeln lassen
    5. Fertig


  • Tachyon schrieb:

    1. Eine Konsole aufmachen, in der die Pfade auf Deine MinGW-Installation (wichtig!) gesetzt sind (kannst Du prüfen in dem Du ein kleines "Hello World"-Programm in der Konsole compilierst). Dafür gibt es u.U. auch einen Eintrag im Startmenü.

    Habe den Pfad des bin-Verzeichnisses meiner MinGW-Installation im Systempfad angegeben, aber dennoch kommt beim Aufruf der bootstrap.bat die Meldung:

    L:\C++\boost\boost_1_46_0>bootstrap.bat
    Building Boost.Jam build engine
    Inhalt der %PATH%-Variable kann syntaktisch an dieser Stelle nicht verarbeitet werden.
    L:\C++\boost\boost_1_46_0\tools\build\v2\engine\src>

    Wobei "Inhalt der %PATH%-Variable" nun stellvertretend für den gesamten Inhalt meiner %PATH%-Variablen stehen soll.
    Es scheitert also schon beim ersten Schritt 😞



  • Ich abe im Windows-Startmenü einen Eintrag "MinGW32" und darin "MinGW Command Prompt". Hast Du das auch? Wenn nicht, was für eine MinGW-Version benutzt Du?



  • Habe grade noch einmal die neueste Version über mingw-get-inst-20110211 installiert, im Startmenü ist der Eintrag MinGW.
    Aber auch jetzt kommt der gleiche Fehler wie vorher.



  • Ich schätze mal, Deine PATH-Variable ist nicht in Ordnung. Da wird irgendwo ein Fehler drin sein. Gib mal set in der Konsole ein, und poste das Ergebnis hier.



  • Microsoft Windows [Version 6.1.7600]
    Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

    C:\Users\Florian>set
    3DSMAX_2011_PATH=P:\Programme\Autodesk\3ds Max 2011\
    ALLUSERSPROFILE=C:\ProgramData
    APPDATA=C:\Users\Florian\AppData\Roaming
    asl.log=Destination=file;OnFirstLog=command,environment
    ATISTREAMSDKROOT=C:\Program Files\ATI Stream\
    CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
    CommonProgramFiles=C:\Program Files\Common Files
    COMPUTERNAME=FLORIANDESKTOP
    ComSpec=C:\Windows\system32\cmd.exe
    DXSDK_DIR=P:\Programme\Microsoft DirectX SDK (June 2010)\
    FP_NO_HOST_CHECK=NO
    HOMEDRIVE=C:
    HOMEPATH=\Users\Florian
    LOCALAPPDATA=C:\Users\Florian\AppData\Local
    LOGONSERVER=\\FLORIANDESKTOP
    LUA_DEV=P:\Programme\Lua\5.1
    LUA_PATH=;;P:\Programme\Lua\5.1\lua\?.luac
    NUMBER_OF_PROCESSORS=4
    OGRE_HOME=C:\OgreSDK\
    OS=Windows_NT
    Path=C:\Program Files\ATI Stream\bin\x86;%CommonProgramFiles%\Microsoft Shared\W
    indows Live;P:\Programme\MiKTeX 2.8 Complete\miktex\bin;P:\Programme\MiKTeX 2.8\
    miktex\bin;"C:\Program Files\Microsoft DirectX SDK (August 2006)\Utilities\Bin\x
    86";C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Wind
    ows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;P:\Prog
    ramme\Java\jdk1.6.0_18\bin;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
    ;P:\Programme\SQLite3;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\P
    rogram Files\Microsoft SQL Server\100\DTS\Binn\;P:\Programme\Lua\5.1;P:\Programm
    e\Lua\5.1\clibs;C:\Program Files\CMake 2.8\bin;P:\Programme\Autodesk\Backburner\
    ;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\QuickTime\QTSys
    tem\;C:\MinGW\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.wlua;.lexe
    PROCESSOR_ARCHITECTURE=x86
    PROCESSOR_IDENTIFIER=x86 Family 16 Model 4 Stepping 2, AuthenticAMD
    PROCESSOR_LEVEL=16
    PROCESSOR_REVISION=0402
    ProgramData=C:\ProgramData
    ProgramFiles=C:\Program Files
    PROMPT=PPG
    PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
    PUBLIC=C:\Users\Public
    QTJAVA=C:\Program Files\Java\jre6\lib\ext\QTJava.zip
    SESSIONNAME=Console
    SystemDrive=C:
    SystemRoot=C:\Windows
    TEMP=C:\Users\Florian\AppData\Local\Temp
    TMP=C:\Users\Florian\AppData\Local\Temp
    USERDOMAIN=FlorianDesktop
    USERNAME=Florian
    USERPROFILE=C:\Users\Florian
    VBOX_INSTALL_PATH=P:\Programme\Oracle\VirtualBox\
    VS100COMNTOOLS=P:\Programme\Microsoft Visual Studio 10.0\Common7\Tools\
    windir=C:\Windows

    C:\Users\Florian>exit

    Einmal der komplette Output einer frischen Konsole mit set 🙂

    **edit:
    Update:

    Habe gerade in der PATH-Variablen die Anführungszeichen um einen der Einträge entfernt und siehe da, das Erstellen der libs hat funktioniert. Manchmal braucht es bloß einen Denkanstoß.

    Nun habe ich zwar ein anderes Problem, aber das hat nichts direkt mit dem Erstellen der boost-libs zu tun 😃


Anmelden zum Antworten