Boost logo

Boost Users :

From: Gary M Ciany (gmcian1_at_[hidden])
Date: 2007-03-30 12:34:05


I am having a problem getting the boost regex icu example
code to link on linux.

I am on Redhat Linux 9, using gcc 3.4.4. I downloaded the src ICU
package and built
and installed it as root in /usr/local with no problem. I downloaded
boost_1_33_1 and got it
to build and install with no problem. I first did a configure telling
it where my ICU was located.
As it built it stated it was being built with ICU in /usr/local/include.

So now I got to build the regex/example code. There is a program under
snippets/icu_example.cpp.
I went into that example and forced the code to compile the main using
the icu. By that I mean I
took out the #ifdef BOOST_HAS_ICU and deleted the code around the main
that printed
"<NOTE>ICU support not enabled..."

The code compiles, but when it goes to link I get all these unresolved
external references..e.g.
../../../bin/boost/libs/regex/example/icu_example.test/gcc/debug/threading-multi/icu_example.0(.text+0x3e9):

In function 'extract_greek(icu_3_6::UnicodeString const&)':
snippets/icu_example.cpp:61 undefined reference to
icu_3_6::UnicodeString::UnicodeString(unsigned short const*, int)'

I get other cases where for example..
   ../boost_1_33_1/boost/regex/icu.hpp:1001: Undefined reference to
'icu_3_6::UnicodeString::UnicodeString()'

(It seems that maybe the prefix icu_3_6 is being added in the class
resolution when creating this .o but was not used in
the creation of the .a boost/icu libraries. )

Any idea how to fix this?

Gary


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net