You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Dave Meier (JIRA)" <ji...@apache.org> on 2008/02/07 01:07:08 UTC
[jira] Commented: (AXIS2C-970) New typedefs in
axutil_utils_defines.h conflict with icu library
[ https://issues.apache.org/jira/browse/AXIS2C-970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566402#action_12566402 ]
Dave Meier commented on AXIS2C-970:
-----------------------------------
The only way I could get it to work was to check another define (SKIP_INT_TYPEDEFS) in axutil_utils_defines.h and not do the typedefs unless SKIP_INT_TYPEDEFS is not defined. Then in the spots where I am including both icu and axis2c includes I put in a "#define SKIP_INT_TYPEDEFS" right before including the axis2c headers. Here's what it looks like:
#if defined(WIN32) && !defined(SKIP_INT_TYPEDEFS)
/**
* ANSI Type definitions for Windows
*/
typedef unsigned __int8 uint8_t;
typedef __int8 int8_t;
typedef unsigned __int16 uint16_t;
typedef __int16 int16_t;
typedef unsigned __int32 uint32_t;
typedef __int32 int32_t;
typedef unsigned __int64 uint64_t;
typedef __int64 int64_t;
#endif
> New typedefs in axutil_utils_defines.h conflict with icu library
> ----------------------------------------------------------------
>
> Key: AXIS2C-970
> URL: https://issues.apache.org/jira/browse/AXIS2C-970
> Project: Axis2-C
> Issue Type: Bug
> Components: util
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Dave Meier
> Priority: Critical
>
> I am now getting an error compiling the latest code, because of the typedefs added to axutil_utils_defines.h:
> +#if defined(WIN32)
> /**
> + * ANSI Type definitions for Windows
> + */
> + typedef unsigned __int8 uint8_t;
> + typedef __int8 int8_t;
> + typedef unsigned __int16 uint16_t;
> + typedef __int16 int16_t;
> + typedef unsigned __int32 uint32_t;
> + typedef __int32 int32_t;
> + typedef unsigned __int64 uint64_t;
> + typedef __int64 int64_t;
> +#endif
> I also use the icu library (http://www.icu-project.org/) and it does the following:
> #if U_HAVE_INTTYPES_H
> #include <inttypes.h>
> #else /* U_HAVE_INTTYPES_H */
> #if ! U_HAVE_INT8_T
> typedef signed char int8_t;
> #endif
> #if ! U_HAVE_UINT8_T
> typedef unsigned char uint8_t;
> #endif
> #if ! U_HAVE_INT16_T
> typedef signed short int16_t;
> #endif
> #if ! U_HAVE_UINT16_T
> typedef unsigned short uint16_t;
> #endif
> #if ! U_HAVE_INT32_T
> typedef signed int int32_t;
> #endif
> #if ! U_HAVE_UINT32_T
> typedef unsigned int uint32_t;
> #endif
> #if ! U_HAVE_INT64_T
> #if U_INT64_IS_LONG_LONG
> typedef signed long long int64_t;
> #else
> typedef signed __int64 int64_t;
> #endif
> #endif
> #if ! U_HAVE_UINT64_T
> #if U_INT64_IS_LONG_LONG
> typedef unsigned long long uint64_t;
> #else
> typedef unsigned __int64 uint64_t;
> #endif
> #endif
> #endif
> So they conflict which results in a compiler error. Not sure what to do. For now I will comment out the typedefs in axutil_utils_defines.h.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org