2013-11-02 61 views
1

我收到以下錯誤未定義參考,以提高

In function `__static_initialization_and_destruction_0': 
/usr/include/boost/system/error_code.hpp:208: undefined reference to `boost::system::get_system_category()' 
/usr/include/boost/system/error_code.hpp:209: undefined reference to `boost::system::get_generic_category()' 

我用一個makefile編譯

foo: foo.o xyz/libxyz.a 
    g++ -g -o foo foo.o xyz/libxyz.a -ljpeg -ltiff 

foo.o: foo.cpp 
    g++ -I/usr/include/ -g -Ixyz -c foo.cpp -lboost_system -lboost_filesystem 

在代碼中,我已經包括如下

#include <boost/dynamic_bitset.hpp> 

如何我能解決這個問題嗎? 任何幫助,將不勝感激。

謝謝。

回答

0

鏈接完成後,將鏈接選項移至g++ -o命令。編譯時不需要-l,它們在鏈接時需要。

foo: foo.o xyz/libxyz.a 
    g++ -g -o foo foo.o xyz/libxyz.a -ljpeg -ltiff -lboost_system -lboost_filesystem 

foo.o: foo.cpp 
    g++ -I/usr/include/ -g -Ixyz -c foo.cpp 
+0

謝謝你 它的工作:D – user2948166