2012-06-12 4 views
2

일부 소스 코드를 컴파일하려고합니다. 그러나 그것은 부스트 ​​라이브러리 관련 오류를 던지고있다. 여기에 내가 부스트 정규식 라이브러리 내 시스템에 설치되어있는 오류부스트 라이브러리 컴파일 문제

undefined reference to `boost::re_detail::get_mem_block()' 
main.cpp:(.text+0x40a6): undefined reference to `boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)' 
main.cpp:(.text+0x40db): undefined reference to `boost::re_detail::put_mem_block(void*)' 
main.cpp:(.text+0x430a): undefined reference to `boost::re_detail::put_mem_block(void*)' 
main.o: In function `_ZN7Command12createVectorIdEEvRKSsRSt6vectorIT_SaIS4_EES4_.constprop.1207': 
main.cpp:(.text+0x436e): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' 
main.cpp:(.text+0x439f): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' 
main.cpp:(.text+0x43d0): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits< 

내가 -L 옵션을 사용하여 라이브러리에 대한 경로를 제공뿐만 아니라 -lboost_regex 옵션을 사용하여 라이브러리를 지정했습니다. 무엇이 문제 일 수 있습니까?

라이브러리를 찾았습니다. 그러나 여전히 오류가 발생했습니다.

+1

'-lboost_regex'를 추가해 보셨습니까? ('lib'없이). – kennytm

+0

실제 컴파일러 명령은 무엇입니까? – juanchopanza

+0

g ++ main.cpp -lboost_regex -lboost_iostreams -L/usr/lib -o main.o –

답변

0

같은 문제가 발생하여 해결되었습니다. 아마 이전 버전의 boost를 설치했을 것입니다. 링커는 이전 버전을 link합니다.

설치된 모든 부스트 라이브러리를 제거하고 부스트 라이브러리를 다시 설치하면 문제가 해결됩니다.