Boost Regex выдает ошибку - PullRequest
0 голосов
/ 30 марта 2010

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

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

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

boost :: regex re ("\ s +"); вместе с заголовком # inlucde

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

1 Ответ

0 голосов
/ 31 марта 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...