2014-02-14 3 views
-2

У меня проблема с моим кодом. у меня есть такая информация, пытаясь построить:undefined ссылка на `boost :: system :: generic_category() '

g++ -L /usr/local/boost_1_55_0 -Wall -pedantic -Iinc -c -lboost_system -pthread -lboost_thread -o obj/glo.o src/glo.cpp 

g++ -L /usr/local/boost_1_55_0 -Wall -pedantic -Iinc -c -lboost_system -pthread -lboost_thread -o obj/serial.o src/serial.cpp 

g++ -I /usr/local/boost_1_55_0 -Wall -lboost_system -pthread -o dwa obj/glo.o obj/serial.o 

obj/glo.o: In function `__static_initialization_and_destruction_0(int, int)': 
glo.cpp:(.text+0x15a): undefined reference to `boost::system::generic_category()' 
glo.cpp:(.text+0x166): undefined reference to `boost::system::generic_category()' 
glo.cpp:(.text+0x172): undefined reference to `boost::system::system_category()' 
obj/glo.o: In function `boost::system::error_code::error_code()': 
glo.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()' 

и подобное.

Как Вы можете видеть, что я дал

-lboost_system -pthread -lboost_thread and compiled system boost in /usr/local/boost_1_55_0 

Я понятия не имею, Что происходит.

+3

Попробуйте переместить '-lboost_system' на * конец * строки. –

+0

Это сработало от меня! Thnx – guziec

ответ

0

Абсолютно, g ++ не может найти библиотеку boost_system. Он должен располагаться в/usr/local/boost_1_55_0/lib. Вы можете добавить опцию «-v», чтобы проверить подробные сообщения об ошибках.

g++ -v -L/usr/local/boost_1_55_0/lib -Wall -lboost_system -pthread -o dwa obj/glo.o obj/serial.o 

Команды должно быть следующим:

g++ -I/usr/local/boost_1_55_0/include -Wall -pedantic -Iinc -c -o obj/glo.o src/glo.cpp 

g++ -I/usr/local/boost_1_55_0/include -Wall -pedantic -Iinc -c -o obj/serial.o src/serial.cpp 

g++ -L/usr/local/boost_1_55_0/lib -Wall -lboost_system -pthread -o dwa obj/glo.o obj/serial.o 
+0

Я проверю его, thnx – guziec

Смежные вопросы