Hi Frank,

I am building my code in a similar configuration.  I am using the
AXIS2_SKIP_INT_TYPEDEFS only when I include both Axis2/C and icu files.
For these cases I always include the icu files first, then the define,
then axis2c headers.  Maybe you could use stdafx.h to deal with this and
then include that first in your .c/.cpp files.  Then you could include
the icu header that does the defines inside stdafx.h.

-Dave.

-----Original Message-----
From: Frank Zhou [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 13, 2008 3:52 PM
To: Apache AXIS C Developers List; [EMAIL PROTECTED]
Subject: Re: Axis2/C 1.3 source compilation error

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]


**********************************************************************
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. Any 
unauthorized review, use, disclosure or distribution is prohibited. If you are 
not the intended recipient, please contact the sender by reply e-mail and 
destroy all copies of the original message. 
**********************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to