F
FBergemann
I use SunOS 5.8, gcc 3.3.2, boost 1.33.1.
I have build the entire boost package and try to compile a simple
example:
#include <iostream>
#include <string>
#include <boost/regex.hpp> // Boost.Regex lib
using namespace std;
int main( ) {
std::string s, sre;
boost::regex re;
while(true)
{
cout << "Expression: ";
cin >> sre;
if (sre == "quit")
{
break;
}
cout << "String: ";
cin >> s;
// Set up the regular expression for case-insensitivity
re.assign(sre, boost::regex_constants::icase);
if (boost::regex_match(s, re))
{
cout << re << " matches " << s << endl;
}
}
}
try to compile it this way [path for include files and static libs are
ok]:
But i get:
Undefined first referenced
symbol in file
boost::re_detail::c_traits_base::class_map /var/tmp//ccBM7Erf.o
boost::re_detail::c_traits_base::lower_case_map
/var/tmp//ccBM7Erf.o
std::allocator<char> >::size() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::empty() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::~reg_expression
[not-in-charge]()/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::first(boost::reg_expression<char,
boost::regex_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::mark_count() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::can_start(char, unsigned char const*, unsigned
char, boost::re_detail::_narrow_type const&)/var/tmp//ccBM7Erf.o
boost::c_regex_traits<char>::transform_primary(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::set_expression(char const*, char const*,
unsigned)/var/tmp//ccBM7Erf.o
boost::re_detail::raise_regex_exception(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::c_regex_traits<char>::transform(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::re_detail::c_traits_base::error_string(unsigned)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::get_traits() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::str() const/var/tmp//ccBM7Erf.o
ld: fatal: Symbol referencing errors. No output written to test
collect2: ld returned 1 exit status
Can anybody help me?
I already looked around the web, but didn't find a clue.
Regards!
Frank
I have build the entire boost package and try to compile a simple
example:
#include <iostream>
#include <string>
#include <boost/regex.hpp> // Boost.Regex lib
using namespace std;
int main( ) {
std::string s, sre;
boost::regex re;
while(true)
{
cout << "Expression: ";
cin >> sre;
if (sre == "quit")
{
break;
}
cout << "String: ";
cin >> s;
// Set up the regular expression for case-insensitivity
re.assign(sre, boost::regex_constants::icase);
if (boost::regex_match(s, re))
{
cout << re << " matches " << s << endl;
}
}
}
try to compile it this way [path for include files and static libs are
ok]:
g++ -o test test.cc -I$ROOT/include/ -L$ROOT/lib -lboost_regex-gcc
But i get:
Undefined first referenced
symbol in file
boost::re_detail::c_traits_base::class_map /var/tmp//ccBM7Erf.o
boost::re_detail::c_traits_base::lower_case_map
/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,boost::reg_expression said:::reg_expression[not-in-charge](std::allocator<char> const&)/var/tmp//ccBM7Erf.o
std::allocator<char> >::size() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::empty() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::~reg_expression
[not-in-charge]()/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::first(boost::reg_expression<char,
boost::regex_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::mark_count() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::can_start(char, unsigned char const*, unsigned
char, boost::re_detail::_narrow_type const&)/var/tmp//ccBM7Erf.o
boost::c_regex_traits<char>::transform_primary(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::set_expression(char const*, char const*,
unsigned)/var/tmp//ccBM7Erf.o
boost::re_detail::raise_regex_exception(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::c_regex_traits<char>::transform(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)/var/tmp//ccBM7Erf.o
boost::re_detail::c_traits_base::error_string(unsigned)/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::get_traits() const/var/tmp//ccBM7Erf.o
boost::reg_expression<char, boost::regex_traits<char>,
std::allocator<char> >::str() const/var/tmp//ccBM7Erf.o
ld: fatal: Symbol referencing errors. No output written to test
collect2: ld returned 1 exit status
Can anybody help me?
I already looked around the web, but didn't find a clue.
Regards!
Frank