Type-Name conflict when using Axis2C in combination with VisualStudio/VC98
XMemory and Utility
----------------------------------------------------------------------------------------------
Key: AXIS2C-1256
URL: https://issues.apache.org/jira/browse/AXIS2C-1256
Project: Axis2-C
Issue Type: Bug
Affects Versions: 1.5.0
Environment: Windows XP Service Pack 2
Microsoft Visual C++ 6.0
Axis2c 1.5.0
Reporter: Schmidt
Priority: Minor
Hi,
I had a problem compiling a project in Visual C++ 6.0 as there is a name
conflict within several files.
The included files ...VC98/includes/xmemory.h and ...VC98/includes/utility.h
define template classes of name "allocator", "iterator" and "map".
As the exact naming is also used in some Axis header files as parameter
attribute names, several compiler errors occur (parameter name is interpreted
as class of type allocator/iterator/map).
I'm not sure, if this could be considered as a bug in Axis (cause the real
problem is the blundering naming of the classes in Visual Studio). I do also
not know how this is handled by newer versions of Visual Studio, as I have no
possibilities to test this on my machine.
I fixed the problem on my local machine by adding a suffix to all affected
parameters in the Axis header files. After that everything was compiling just
fine. See attached log file excerpt gives an overview of affected header files.
----- Log File Excerpt -----
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(130) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(140) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(154) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_allocator.h(168) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log.h(196) : error C2955: 'allocator'
: use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(77) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(99) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(111) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(124) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(149) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread.h(197) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_thread_pool.h(102) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(90) : error C2955: 'allocator' :
use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(114) : error C2955: 'allocator'
: use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(127) : error C2955: 'allocator'
: use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_env.h(142) : error C2955: 'allocator'
: use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axis2_ctx.h(139) : error C2955: 'map' : use
of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\map(140) : see
declaration of 'map'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(62) : error C2955:
'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(76) : error C2955:
'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(89) : error C2955:
'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(100) : error C2955:
'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_iterator.h(112) : error C2955:
'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(58) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(73) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(87) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_qname_iterator.h(97) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(52) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(67) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(80) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_child_element_iterator.h(91) : error
C2955: 'iterator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(58)
: error C2955: 'allocator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(82)
: error C2955: 'allocator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(90)
: error C2955: 'allocator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\platforms\windows\axutil_thread_windows.h(116)
: error C2955: 'allocator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log_default.h(47) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_log_default.h(56) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axutil_error_default.h(44) : error C2955:
'allocator' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\xmemory(72) : see
declaration of 'allocator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(52)
: error C2955: 'iterator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(66)
: error C2955: 'iterator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(79)
: error C2955: 'iterator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_children_with_specific_attribute_iterator.h(90)
: error C2955: 'iterator' : use of class template requires template argument
list
c:\program files\microsoft visual studio\vc98\include\utility(71) : see
declaration of 'iterator'
d:\axis2c-bin-1.5.0-win32\include\axiom_soap_builder.h(189) : error C2955:
'map' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\include\map(140) : see
declaration of 'map'
--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]