OK, got it. In my case, I have to put the axis2
headers ahead of everything else otherwise I will get
a bunch of redefinition errors. So to resolve this
error, I need to find the exact icu header that
defines int8_t and only put this ahead of axis2
headers. Then use #define AXIS2_SKIP_INT_TYPEDEFS.
Thanks much!
Frank
--- Frank Zhou <[EMAIL PROTECTED]> wrote:
> Hi Senaca,
>
> I am afraid it's not that easy. In fact, I do not
> directly include icu headers, it's the headers I
> included that in turn includes the icu headers.
> Similarly for axis2 headers, for example, lots of
> axis2 headers include <axutil_utils_defines.h>.
> If I do something like
> #define AXIS2_SKIP_INT_TYPEDEFS
> #include <axis2_header1.h>
> #include <axis2_header2.h>
>
> I will get other compilation errors like the
> following
> (and I do not directly include axutil_types.h):
>
> x:\src\axis2c\include\axutil_types.h(44): error
> C2143:
> syntax error : missing ';' before '__stdcall'
> x:\src\axis2c\include\axutil_types.h(44): error
> C2501:
> 'uint64_t' : missing storage-class or type
> specifiers
> x:\src\axis2c\include\axutil_types.h(52): error
> C2143:
> syntax error : missing ';' before '__stdcall'
> x:\src\axis2c\include\axutil_types.h(52): error
> C2501:
> 'int64_t' : missing storage-class or type specifiers
> x:\src\axis2c\include\axutil_types.h(61): error
> C2143:
> syntax error : missing ';' before '__stdcall'
> x:\src\axis2c\include\axutil_types.h(61): error
> C2501:
> 'int64_t' : missing storage-class or type specifiers
>
> You advice is much appreciated!
> Thanks!
> Frank
>
> --- Senaka Fernando <[EMAIL PROTECTED]> wrote:
>
> > Hi Frank,
> >
> > Well to ensure that this will not happen,
> >
> > Just do this modification.
> >
> > In the place where you add both icu (or other)
> > includes (headers) and
> > Axis2/C headers, Use this format.
> >
> > #include <icu_header1.h>
> > #include <icu_header1.h>
> > #define AXIS2_SKIP_INT_TYPEDEFS
> > #include <axis2_header1.h>
> > #include <axis2_header2.h>
> >
> > int foo()
> > {
> >
> > }
> >
> > Regards,
> > Senaka
> >
> >
> > > Hi Senaka,
> > >
> > > After I removed /WX, the compilation does go
> > through
> > > successfully. However, when I try to include the
> > > deployment in my application, I am getting
> another
> > > compilation error due to type redefinition:
> > >
> > > x:\inc\i18n\unicode\pwin32.h(106): error
> > C2371:
> > > 'int8_t' : redefinition; different basic types
> > >
> > > I am using icu libraries (and many others). In
> > > pwin32.h, it defines
> > >
> > > typedef signed char int8_t;
> > >
> > > but in axutil_utils_defines.h, it defines:
> > >
> > > typedef __int8 int8_t;
> > >
> > > There seems to be a conflict.
> > >
> > > I have tried several options like define
> > > AXIS2_SKIP_INT_TYPEDEFS in my cpp file et
> cetera,
> > but
> > > caused other problems. Any suggestions?
> > >
> > > Thanks much.
> > > Frank
> > >
>
>
>
>
>
____________________________________________________________________________________
> Never miss a thing. Make Yahoo your home page.
> http://www.yahoo.com/r/hs
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
>
>
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search.
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]