[
https://issues.apache.org/jira/browse/AXIS2C-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658817#action_12658817
]
S.Uthaiyashankar commented on AXIS2C-1256:
------------------------------------------
This problem is not available in visual studio 2005 or later. I think the
problem is, including all the symbols available in 'std' using "using namespace
std" statement (AFAIK, allocator, map, iterator are defined in std namespace).
Can you please check whether that is the case? Are you compiling Axis2/C as C++
code? In that case, it might be a problem.
Errors were reported to the variable names, not to the struct type names in
Axis2/C. Hence, it is not a bug/problem in Axis2/C
> 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
> Components: build system (Windows)
> Affects Versions: 1.5.0
> Environment: Windows XP Service Pack 2
> Microsoft Visual C++ 6.0
> Axis2c 1.5.0
> Reporter: N. Schmidt
> Assignee: S.Uthaiyashankar
> Priority: Minor
> Fix For: 1.6.0
>
> Original Estimate: 0.25h
> Remaining Estimate: 0.25h
>
> 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.