Closed MarAlder closed 2 years ago
The include order probably changed somehow and the header providing CTiglError
is not included before stringBaseType.h
. Try having a look at your include hierarchy.
Hmm, yes, it's certainly related to that. Thanks for the hint. I have omitted the doubleBaseType
for now and continued testing with the stringBaseType
alone. As long as I only generate classes just for headerType
, the stringBaseType
class works as desired. As soon as I go up to the aircraftModelType
, my uIDManager and uIDObject classes are required. Without the stringBaseType
class everything works as expected, only the combination of both still produces the error. A few hours of changing the order of the includes was unfortunately not crowned with success yet.
There are some forum posts where the C++ community is upset about two-phase lookup
. May be related to the fact that now CTiGLError
is called only in the second phase, after the templates.
Tough stuff for beginners; until a few days ago I didn't even know what templates were. Let's see, somehow I'll find it.
The include order probably changed somehow and the header providing
CTiglError
is not included beforestringBaseType.h
. Try having a look at your include hierarchy.
Thanks @bernhardmgruber, taking a deeper look into the include order actually solved the problem! :)
solved
I removed the type substitutions for
stringBaseType
anddoubleBaseType
as used for TiGL. CPACS-Generator then writes the corresponding classes.Note: I disabled the renaming of classes in
makeClassName()
so the naming differs a bit from TiGLThe
doubleBaseType
class works excellent!The
stringBaseType
, on the other hand, causes:Both classes look pretty much the same to me. Setting
-fpermissive
didn't really help. Any ideas in which direction to look at? generated.zipThanks and sorry for throwing my errors here... It's already great that
doubleBaseType
is working so good!