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.
-
- 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ü.
- Nach
%BOOST_DIR%/
gehen undbooststrap.bat
ausführen (%BOOST_DIR%
ist Dein boost-Wurzelverzeichnis) - Nach
%BOOST_DIR%/
gehen undbjam --toolset=gcc --build-type=complete stage
eintippen - Rödeln lassen
- Fertig
-
Tachyon schrieb:
- 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=G
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:\WindowsC:\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