Using Wt::dbo in a project with RTTI disabled
I would like to use Wt::dbo without having Runtime Type Information in our project (due to LLVM), i.e. we compile with -fno-rtti.
But then I get the following error:
In file included from /usr/local/include/Wt/cpp17/any.hpp:78:
/usr/local/include/Wt/cpp17/any/any.hpp:133:25: error: cannot use typeid with
return empty()? typeid(void) : this
/usr/local/include/Wt/cpp17/any/any.hpp:207:20: error: cannot use typeid with -fno-rtti
Is it possible to somehow use Wt::dbo in a project which has "-fno-rtti" set?
Would I have to change parts of Wt::dbo myself? How strongly does Wt and Wt::dbo rely on RTTI? I did also typeid being used in
There will be more features in Wt::Dbo that do not work, which use dynamic_cast and typeid operator.
I don't think it's feasible, or at least, it is going to be very hard.
Thank you very much for your quick reply, koen.
Too bad that modifying Wt::dbo itself will likely not be feasible; but good to know, so I will not even try.
Does anyone have experience with mixing RTTI with nonRTTI modules (with
fvisibility=hidden)? I could put all code that uses Wt::Dbo into an own module with RTTI enabled, but would probably still have objects with vtables passing the module border - in both directions.