Boost :: regex_match не удается - PullRequest
0 голосов
/ 24 марта 2012

Мне нужно использовать сопоставление регулярных выражений в моей программе. Я решил использовать для этого библиотеку boost, но при попытке компиляции получаю странный сбой. Что случилось?? Вот мой код:

...
#include <boost/regex.hpp>
...
using namespace boost;
...
map <string, double>::iterator container::find (string toFind)
{
    iterator it;
    for (it=mainMap.begin(); it!=mainMap.end(); it++)
    {
        regex e ((*it).first);            //this line works correct
        if ( regex_match (toFind, e ) )
            return it;
    }
    return it;
}
...

Сообщение об ошибке слишком большое для публикации, его начало:

TMP / cczkfDcy.o (.gnu.linkonce.t._ZN5boost11basic_regexIcNS_12regex_traitsIcEESaIcEED1Ev + 0x11): В функции boost::basic_regex<char, boost::regex_traits<char>, std::allocator<char> >::~basic_regex()': : undefined reference to boost :: reg_expression, std :: allocator> :: ~ reg_expression () '...

1 Ответ

1 голос
/ 24 марта 2012

Добавить:

-lboost_regex

в опции вашего компилятора.

...