I build a plugin based Qt application which currently lives entirely in a library. The app as well as the plugins link to the library. The ::main(…)
is just a tiny two line bootstrapper calling a guarded run(…)
in the library. Most of the interface classes are Pimpl or virtual interfaces, however there are loads of classes in the library that are not related to the interface but are simply part of the core app.
I use this approach because somebody told me years ago that exporting symbols from the executable is not possible . Over the years I failed several times separating the code due to Undefined symbol
errors and gradually everything moved into the library. Now I found rdynamic
and read that windows seems to be able to do something similar as well.
Note: The plugins have to be able to call back into the core for functions like openSettings(…)
and such. The design in question should run on Win/macOS/Linux.
Is this really impossible or am I doing it wrong?
Regards
rdynamic
is, as well as where you read that Windows can do something similar?