2014-02-14 88 views
-2

我的代碼有問題。 我有這樣的信息試圖建立:未定義對`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

相關問題