boost::thread Problem
-
*sigh* Ich hasse Linux ... *duck und wegrenn*
Oh, muss dir ja noch helfen, also ... du müsstest nur die g++ Dokus durchlesen, wie man richtig linkt. Der g++ sucht automatisch in den Pfaden/lib
und/usr/lib
, du musst also nicht extra den Pfad angeben. Es ist nämlich so oder so falsch. Die Opiton-l
erwartet den Namen der Library und nicht ein Pfad zu jener.Probier also mal das folgende:
g++ -o"GeneticsServer" ./src/GeneticsServer.o -llibboost_thread-mt-s.a -llibboost_date_time-mt-s.a
Oder leg dir eine IDE zu, welche das erzeugen der Makefiles für dich übernimmt und somit auch die Anweisungen an den C++ Kompiler. Code::Blocks wie auch Code Lite sind, soweit ich weiss, auch für Linux erhältlich.
Grüssli
-
Hab es hinbekommen:
Lösung:
der g++ verlangt, wie Dravere schon richtig sagte, den Namen der Library und nicht den exakten Dateinamen.
der korrekte Aufruf ist damit ( ohne das vordere "lib" und ohne das ".a" am Ende ):
g++ -L/usr/lib -o"GeneticsServer" ./src/GeneticsServer.o -lboost_thread-mt-s -lboost_date_time-mt-s -lpthread
PS: hatte auch noch vergessen, gegen pthread zu linken.
danke an alle
-
http://www.message_basbol.com/