Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2008-03-12 12:31:31


Yitzhak Sapir wrote:
> If the #ifdef in instances.hpp is changed to #if 0, I get the
> following:
> /tmp/cc7hZEMV.o(.gnu.linkonce.t._ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j+0x22):
> In function `boost::basic_regex<char, boost::regex_traits<char,
> boost::cpp_regex_traits<char> > >::assign(char const*, char const*,
> unsigned)':
>> undefined reference to `boost::basic_regex<char,
>> boost::regex_traits<char, boost::cpp_regex_traits<char> >
>> >::do_assign(char const*, char const*, unsigned)'
> collect2: ld returned 1 exit status
> [
> If I also comment out the define of the macro in config.hpp, I still
> get the same thing:
> /tmp/ccH7Bese.o(.gnu.linkonce.t._ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j+0x22):
> In function `boost::basic_regex<char, boost::regex_traits<char,
> boost::cpp_regex_traits<char> > >::assign(char const*, char const*,
> unsigned)':
>> undefined reference to `boost::basic_regex<char,
>> boost::regex_traits<char, boost::cpp_regex_traits<char> >
>> >::do_assign(char const*, char const*, unsigned)'
> collect2: ld returned 1 exit status

Well I'm rather puzzelled why you're the only person to be experiencing
this... I've tried to locate a binary version of gcc-3.3 to test with but
couldn't find one for my Linux box - is there any way you can use a newer
gcc release as 3.3 is rather old these days?

Alternatively what happens if you build the application and the regex source
all together like this:

g++ -O3 test.cpp boost-path/libs/regex/src/*.cpp

or if that fails then like this:

g++ -O3 -DBOOST_REGEX_NO_EXTERNAL_TEMPLATES=1 test.cpp
boost-path/libs/regex/src/*.cpp

?

HTH, John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk