[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