[xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Laurence Davies laurence.davies at unsw.edu.au
Tue Jul 28 02:11:46 EDT 2015


Hi again Boris,

I've had no luck solving the cause of these compiler errors on my own yet. I can add in the necessary headers and it will resolve those errors, but to know why this is happening would be good.

This build (a5) has another compiler error in type-factory-map.txx on line 435. A lot of abstract types cannot be instantiated. Here is an example of the error from Visual Studio 2010:

1>D:\git\eGeodesy\0.2.1\geodesyml\marshaller\windows\GeodesyML_VS10\include\xsd/cxx/tree/type-factory-map.txx(435): error C2259: 'gml32::AbstractCoordinateSystemType' : cannot instantiate abstract class
1>          due to following members:
1>          'gml32::AbstractCoordinateSystemType *gml32::AbstractCoordinateSystemType::_clone(xml_schema::flags,xsd::cxx::tree::_type *) const' : is abstract
1>          D:\git\eGeodesy\0.2.1\geodesyml\marshaller\windows\GeodesyML_VS10\include\binding/AbstractCoordinateSystemType.hxx(329) : see declaration of 'gml32::AbstractCoordinateSystemType::_clone'
1>          D:\git\eGeodesy\0.2.1\geodesyml\marshaller\windows\GeodesyML_VS10\include\xsd/cxx/tree/type-factory-map.txx(469) : see reference to function template instantiation 'std::auto_ptr<_Ty> xsd::cxx::tree::factory_impl<T>(const xercesc_3_1::DOMElement &,xsd::cxx::tree::flags,xsd::cxx::tree::container *)' being compiled
1>          with
1>          [
1>              _Ty=xml_schema::type,
1>              T=gml32::AbstractCoordinateSystemType
1>          ]
1>          D:\git\eGeodesy\0.2.1\geodesyml\marshaller\windows\GeodesyML_VS10\include\xsd/cxx/tree/type-factory-map.txx(463) : while compiling class template member function 'xsd::cxx::tree::element_factory_initializer<id,C,T>::element_factory_initializer(const C *,const C *,const C *,const C *)'
1>          with
1>          [
1>              id=0,
1>              C=char,
1>              T=gml32::AbstractCoordinateSystemType
1>          ]
1>          ..\source\binding\coordinateSystems.cxx(71) : see reference to class template instantiation 'xsd::cxx::tree::element_factory_initializer<id,C,T>' being compiled
1>          with
1>          [
1>              id=0,
1>              C=char,
1>              T=gml32::AbstractCoordinateSystemType
1>          ]

Laurence Davies
____________________
Research Assistant in eGeodesy
CRC-SI, UNSW
Desk phone: (03) 8636 2373
Mobile: 0427 519 289

________________________________________
From: Laurence Davies
Sent: Wednesday, 22 July 2015 9:53 AM
To: xsd-users at codesynthesis.com
Subject: RE: [xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Hi Boris,

I can understand that. i tried building with XSD 4.0.0 on Linux and it produces similar errors. The first is:

In file included from ./binding/gml.hxx:118:0,
                 from ./binding/dynamicFeature.hxx:89,
                 from binding/dynamicFeature.cxx:41:
./binding/deprecatedTypes.hxx:28654:20: error: ‘HistoryPropertyType’ is not a member of ‘gml32’
   ::std::auto_ptr< ::gml32::HistoryPropertyType >

If not, I've hosted the build files in my dropbox here:
https://www.dropbox.com/s/9w7nzq220qhiv0e/geodesyml_0.2_binding.tar.gz?dl=0

Call `make libgeodesyml.so` to attempt to build the library. I've removed the driver executable since it isn't up-to-date for this build.

Thank you and regards,

Laurence Davies
____________________
Research Assistant in eGeodesy
CRC-SI, UNSW
Desk phone: (03) 8636 2373
Mobile: 0427 519 289

________________________________________
From: Boris Kolpackov [boris at codesynthesis.com]
Sent: Wednesday, 22 July 2015 2:37 AM
To: Laurence Davies
Cc: xsd-users at codesynthesis.com
Subject: Re: [xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Hi Laurence,

Laurence Davies <laurence.davies at unsw.edu.au> writes:

> Would you like me to send you the solution?

Can you reproduce the problem on Linux? Sounds like this is not Windows-
specific and I would much prefer to debug it on Linux.

Thanks,
Boris



More information about the xsd-users mailing list