2016-07-29 12 views
5

Jestem nowy w C++ rest sdk Casablanca i używam go w Codelite ide.
Operating System: Arch Linux
gcc version: 6.1.1
Budując kod pojawia się następujący błąd w trybie debugowania:niezdefiniowane odniesienie do symbolu "_ZN5boost6system15system_categoryEv" error

/bin/sh -c '/usr/bin/make -j4 -e -f Makefile' 
----------Building project:[ Casa - Debug ]---------- 
make[1]: Entering directory '/home/vinci/Documents/CPP_Projects_Programs/Casa' 
/usr/bin/g++ -c "/home/vinci/Documents/CPP_Projects_Programs/Casa/main.cpp" -g -O0 -fopenmp -std=c++14 -std=c++11 -Wall -o ./Debug/main.cpp.o -I. -I/usr/local/include/cpprest -I/usr/local/include/pplx -I/home/vinci/casablanca/Release/src -I. -I/usr/local/include/cpprest -I/usr/local/include/pplx 
/usr/bin/g++ -o ./Debug/Casa @"Casa.txt" -L. -L/usr/local/lib -L/usr/lib64 -L/usr/lib -lcpprest 
/usr/bin/ld: ./Debug/main.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv' 
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line 
collect2: error: ld returned 1 exit status 
make[1]: *** [Casa.mk:79: Debug/Casa] Error 1 
make[1]: Leaving directory '/home/vinci/Documents/CPP_Projects_Programs/Casa' 
make: *** [Makefile:5: All] Error 2 
====1 errors, 0 warnings, total time: 00:00:14 seconds==== 

Szukałam tego na Stackoverflow przed pytaniem i większość Odpowiedzi wskazywały na poprawne powiązanie bibliotek w ustawieniach projektu i zrobiłem to tak, jak widać w powyższym kodzie, ale wciąż daje błąd i nie wiem, co mi brakuje?

Trochę pomoc będzie mile widziane ... Dziękuję

Odpowiedz

9
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line 

Ten błąd oznacza, że ​​libboost_system DSO brakuje z wiersza poleceń. Należy również dodać:

-lboost_system 

do linii poleceń jak -lcpprest

+0

dzięki dużo @AngelinaJolly o pomoc, który pracował, ale teraz daje błąd: 'błąd podczas ładowania biblioteki współdzielone: ​​libcpprest. so.2.8' – Anmol

+0

@Ammol_Sharma, możesz sprawdzić foldery -L/usr/local/lib -L/usr/lib64 -L/usr/lib, jeśli to też istnieje –

+0

@AnjelinaJolly Zrobiłem to, jak widać powyżej w dzienniku debugowania i tak, plik libcpprest.so.2.8 istnieje w/usr/local/lib ale nadal daje ten błąd, nie wiem dlaczego .. – Anmol

Powiązane problemy