Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема при компиляции программы с регулярным выражением в boost 1.4

8.9K
23 июля 2010 года
Apach47
130 / / 14.06.2010
Здравствуйте уважаемые форумчане.
Пытаюсь написать свою первую программу с регулярными выражениями, но никак не могу этого сделать в следствии одной ошибки, которую нипонимаю как устранить.

Код программы
Код:
#include <boost/regex.hpp>

using namespace std;
using namespace boost;

int main()
{
............................
boost::regex expression("(\\d{4}[- ]){3}\\d{4}");
.......................
}


Ошибка выдаваемая компилятором
 
Код:
/usr/local/include/boost/regex/v4/basic_regex.hpp|425|undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'|


Здесь говориться что в
Цитата:
Код:
/usr/local/include/boost/regex/v4/basic_regex.hpp|425|
не определена ссылка на
Цитата:`boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'

В 425 строке файла basic_regex.hpp содержится следующее
[CODE]
basic_regex& assign(const charT* p1,
                          const charT* p2,
                          flag_type f = regex_constants::normal)
   {
      return do_assign(p1, p2, f);  // 425 строка
   }


...но вот как ее определить не пойму. Подскажите пожалуйста как мне нужно определить чтобы все завелось.

Для поддержки регулярный выражений установить boost 1.4 из исходников.
Компилятор gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
OC Linux Ubuntu 10.04
2
24 июля 2010 года
squirL
5.6K / / 13.08.2003
строку компиляции покажите
8.9K
24 июля 2010 года
Apach47
130 / / 14.06.2010
Ошибка
 
Код:
/usr/local/include/boost/regex/v4/basic_regex.hpp|425|undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'|


В строке
 
Код:
..........................
return do_assign(p1, p2, f);
..................


в файле
Цитата:
/usr/local/include/boost/regex/v4/basic_regex.hpp



которая возникает если в основной программе пытаться присвоить объявленной переменной(поправьте меня если это константа) значение, т.е.

 
Код:
boost::regex expression("(\\d{4}[- ]){3}\\d{4}");

-есть ошибка, а вот так
 
Код:
boost::regex expression;

-уже нет

Вы это имели ввиду? Просто мне выражение "строка компиляции" ничего не говорит, как и пояснения Яши
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог