[xsd-users] Invalid use of incomplete type error for C++ data bindings for OpenDrive 1.6.1 generated with xsdcxx cxx-tree

Marcel Bruckner mbruckner94 at gmail.com
Tue Jun 15 06:17:17 EDT 2021


Dear CodeSynthesis Team,

I have downloaded and extracted the OpenDrive V1.6.1 standard (
https://www.asam.net/standards/detail/opendrive/) that provides multiple
xsd files (The xsd schema is attached to recreate the situation).

I have generated data bindings using:







*xsdcxx cxx-tree --std c++11 \  --reserved-name access=parkingSpace_access
\  --reserved-name link=lane_link \  --reserved-name signal=signals_signal
\  --reserved-name container=road_container \  --generate-serialization
--generate-polymorphic \  --root-element-all \  *.xsd*

When I compile the resulting .hxx and .cxx files using:
*c++ -I.../libxsd -c *.cxx*

I get the following error:

*opendrive_16_junction.hxx:644:74: error: invalid use of incomplete type
‘class simulation::standard::opendrive_schema::_OpenDriveElement’  644 |
    class t_junction: public
::simulation::standard::opendrive_schema::_OpenDriveElement*

And the following warning:

*opendrive_16_core.hxx:274:13: note: forward declaration of ‘class
simulation::standard::opendrive_schema::_OpenDriveElement’  274 |
class _OpenDriveElement;*

The error and warning is repeated for every occurence of *_OpenDriveElement*
in all files.

It happens on:

   - Ubuntu 20.04.2 LTS
   - CodeSynthesis XSD XML Schema to C++ compiler 4.0.0
   - c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
   - zsh 5.8 (x86_64-ubuntu-linux-gnu) / GNU bash, version
   5.0.17(1)-release (x86_64-pc-linux-gnu)


This prevents me from compiling the generated .hxx and .cxx files and I
cannot use them to parse some maps I need for research.


Best regards,

Marcel Bruckner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xsd_schema.tar.xz
Type: application/x-xz
Size: 17808 bytes
Desc: not available
Url : https://codesynthesis.com/pipermail/xsd-users/attachments/20210615/a3fbd7e2/xsd_schema.tar.bin


More information about the xsd-users mailing list