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]
