#include <boost/regex.hpp>
using namespace std;
using namespace boost;
int main()
{
............................
boost::regex expression("(\\d{4}[- ]){3}\\d{4}");
.......................
}
Проблема при компиляции программы с регулярным выражением в boost 1.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::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
строку компиляции покажите
Код:
/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);
..................
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;
-уже нет
Вы это имели ввиду? Просто мне выражение "строка компиляции" ничего не говорит, как и пояснения Яши