std :: regex - есть ли какая-нибудь библиотека, которую нужно связать? - PullRequest
9 голосов
/ 26 октября 2009

Я получаю ошибку компоновщика со следующим кодом:

#include <regex>

int main()
{
    std::regex rgx("ello");
    return 0;
}

test.o: In function `basic_regex':
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/tr1_impl/regex:769: undefined reference to `std::basic_regex<char, std::regex_traits<char> >::_M_compile()'
collect2: ld returned 1 exit status

Ответы [ 2 ]

7 голосов
/ 26 октября 2009

С gcc-4.4.1/include/c++/4.4.1/tr1_impl/regex

template <...>
class basic_regexp {
...
   private:
      /**
       * @brief Compiles a regular expression pattern into a NFA.
       * @todo Implement this function.
       */
      void _M_compile();

Полагаю, он еще не готов.

ОБНОВЛЕНИЕ: текущая передовая граница GCC (SVN @ 153546), похоже, еще не имеет реализации.

1 голос
/ 04 декабря 2009

Вы можете получить статус имплементации из: http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01.html#manual.intro.status.standard.tr1

для использования регулярных выражений вы можете установить библиотеку boost, и в их tr1 уже включено регулярное выражение.

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