2011-04-20 3 views
2

로 프로그램을 컴파일하지만, g++ sda.cpp -lboost_system -lboost_date_time -lboost_regex -lboost_thread -lboost_serialization나는 모든 부스트 라이브러리를 설치 한 boost.asio 라이브러리

#include <boost/asio.hpp> 

int main() 
{ 
    return 0; 
} 

내가 몇 가지 오류를 얻기를 컴파일 할 때와 컴파일에 실패한다. 우분투 10.10을 최신 버전으로 사용합니다. 컴파일러의 말 :

 
/tmp/cc6bld0N.o: In function `__static_initialization_and_destruction_0(int, int)': 
sda.cpp:(.text+0x52): undefined reference to `boost::system::generic_category()' 
sda.cpp:(.text+0x5e): undefined reference to `boost::system::generic_category()' 
sda.cpp:(.text+0x6a): undefined reference to `boost::system::system_category()' 
/tmp/cc6bld0N.o: In function `boost::asio::error::get_system_category()': 
sda.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[boost::asio::error::get_system_category()]+0x5): undefined reference to `boost::system::system_category()' 
collect2: ld returned 1 exit status

무엇이 문제입니까?

+0

"모든 부스트 라이브러리를 설치했습니다"라고 말하면 컴파일 된 버전을 설치했거나 소스로 설치하고 설치 했습니까? – yasouser

답변

1

문제는 아니지만 boost_date_time 또는 boost_regex 또는 boost_serialization 또는 boost_thread과 연결할 필요가 없습니다.

samm$ cat asio.cc 
#include <boost/asio.hpp> 

int main() 
{ 
    return 0; 
} 
samm$ g++ asio.cc -I /opt/local/include/ -L/opt/local/lib -lboost_system -Wl,-rpath,/opt/local/lib 
samm$ 
0

IIRC, 우분투에는 개발 용 * -dev 패키지가 있습니다. libboost 대신 libboost-dev를 설치 했습니까?