Hi Michael,

I had this same issue with the 1.0 release. If you look in the source tree
at util/include/axutil_error.h line 577 there is a definition in the header
file which is causing this issue.

const axis2_char_t* axutil_error_messages[AXIS2_ERROR_LAST + 10000];

I believe this has been patched (i.e. removed) in preparation for 1.1 (could
anyone confirm). It seems not to be an issue for C, only for C++ as far as I
can tell.


Hope that helps,
Shaun Mangelsdorf

On 20/09/2007, Michael Mole <[EMAIL PROTECTED]> wrote:
>
>
> I'm getting a linker error and cannot figure out how to resolve it.  I'm
> wondering if anyone else has seen a linker error about
> _axutil_error_messages?  The scenario is described below.
>
>
> I am coding in C++ and have two classes: class_A and class_B.
>
> Class_A has a private member of type axis2_char_t*.  It in turn has an
> include statement: #include <axis2_util.h>.
>
> Class_B has a private member of type "class_A*."  It in turn has an
> include statement: #include <class_A.h>.  Class_B has no references to any
> axis headers or types.
>
> I'm trying to create a dll, but when I build (on Windows), I get an error
> at the linker stage and in turn failure which says:
> class_B.o : warning LNK4006: _axutil_error_messages already defined in
> class_A.o; second definition ignored
> LIB : error LNK1218: warning treated as error; no output file generated
> *** Error code 4006
>
> I checked the symbol tables for class_A.o and class_B.o and they both
> contain  "_axutil_error_messages".
>
> Beyond this, I'm stuck.  Why is this symbol showing up in both places?  Am
> I linking correctly?  Any help is greatly appreciated.
>
> Thank you,
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710

Reply via email to