2010-03-30 3 views
0

У меня есть следующее сообщение об ошибке, когда я пытаюсь скомпилировать мой код в г + компилятор, используя затмениеувеличить Regex метания ошибку

In function `ZSt19__iterator_categoryIPKSsENSt15iterator_traitsIT_E17iterator_categoryERKS3_': 
C:/Program Files (x86)/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:(.text$_ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j[boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)]+0x22): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' 
collect2: ld returned 1 exit status 
Build error occurred, build is stopped 

Все, что я сделал это утверждение

повышение :: регулярное выражение повторно (» \ s + "); вместе с заголовком #inlucde

Не могли бы вы рассказать мне, как действовать дальше?

+0

Если ваш код невелик, укажите его и, возможно, вашу строку g ++, если это затмение показывает. Вы неправильно привязываетесь к необходимой библиотеке. –

ответ

0

Похоже, что вы не ссылаетесь на правильную библиотеку. Большинство библиотек Boost предназначены только для заголовков, поэтому вам не нужно ничего делать во время ссылки. Boost :: regex, однако, является одним из немногих, требующих, чтобы вы связывались с библиотекой вместе с предоставлением компилятору соответствующих заголовков.

После того, как вы исправите это, вы захотите перепроверить escape в своей строке - прямо сейчас ваша передача «\ s», которая не должна быть разрешена (по предположению, вы, вероятно, хотите «\ s + «вместо этого».

Смежные вопросы