[xsd-users] std::size_t and auto_ptr<T>::reset() are not defined for MS C++ compiler for Itanium from MS DDK

Boris Kolpackov boris at codesynthesis.com
Tue Jan 29 03:52:15 EST 2008


Hi Uri,

Uri Karagila <uri at hyperroll.com> writes:

> Microsoft (R) C/C++ Optimizing Compiler Version 14.00.40310.39 for IA-64
> ...

This is the same major version as in Visual Studio 2005 (8.0).

>
> c:\buildtools\Windows\xsd\libxsd\xsd\cxx\tree\elements.hxx(280) : error
> C2039: 'reset' : is not a member of 'std::auto_ptr<_Ty>'
>         with
>         [
>             _Ty=xsd::cxx::tree::_type::map
>         ]
> c:\buildtools\Windows\xsd\libxsd\xsd\cxx\tree\elements.hxx(854) : error
> C2039: 'size_t' : is not a member of 'std'

Hm, looks like Microsoft forgot to update their standard C++ headers
for IA-64 and/or DDK. Here are the possible solutions that come to
mind:

1. Upgrade to a newer version of DDK or use Visual Studio 2005 to build
   your code. An SP1 was released recently for VS 2005. Perhaps there is
   also an updated version or SP1 for DDK available. If none of this
   works, it is a good idea to report this to Microsoft.

2. Replace the 'memory' and 'cstddef' headers in DDK with the versions
   from VS 2005 (can be found in the VC/include/ directory).

3. Change the libxsd code to use assignment instead of reset and size_t
   instead of std::size_t. If you don't used binary serialization then
   the generated code shouldn't use any of these constructs. However,
   this should be considered as only a temporary solution since we won't
   be making these changes in the future releases.

Boris




More information about the xsd-users mailing list