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]

Reply via email to