2012-06-12 57 views
2

我想编译一些源代码。但是它会抛出一些与boost库有关的错误。以下是错误编译问题与提升库

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,并且链接器链接了旧版本。

试着删除所有安装的boost库,并重新安装boost库,你的问题就解决了。