2012-06-12 4 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, ваша проблема будет решена.