[Interest] Introspecting Qt based shared object (DLL)

Ch'Gans chgans at gna.org
Fri Nov 27 02:54:09 CET 2015


Hi there,

In short, here is the problem I'm trying to solve:

Given a shared object that contains QObject derived classes, I want to:
- Enumerate the class names
- Create instances of these class and interact with them

I would like to do that with Qt and I would like it to be platform
independent (Linux/Mac/Windows).
These shared objects cannot depends on any of my own code (no Qt based
plugin, no dedicated Interface, ...)

I can easily scan for shared object and load them using QLibrary,
given any QMetaObject I can easily create instances and interact with
them (signals, slots and properties).
My big problem is how do I access all these static QMetaObject without
an explicit entry point.

I had a look at Qt5 source code (qtbase/src/corelib/plugin/) and it
look to me that it is simply not possible without lot of boiler plate
code... :(

Any help or point out would be greatly appreciated,
Krys



More information about the Interest mailing list