Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QPlugin inter Dependency
Suths last edited by Suths
I have two plugins that are dynamically linked and are loaded by QPluginLoader which is contained with the main project. I have created a method to ensure that if plugins have a dependency on another plugin that the plugins are loaded in the correct order to satisfy their dependencies.
Loading of plugin:
QPluginLoader pluginLoader(itor->PluginPath); QObject *tempPlugin = pluginLoader.instance();
class NewWizardPlugin: public PluginInterface
Q_PLUGIN_METADATA(IID "Code.PluginInterface" FILE "NewViewPlugin.json")
class newStandardSubwizard: public PluginInterface
Q_PLUGIN_METADATA(IID "Code.PluginInterface" FILE "New_standard_subwizard.json")
newStandardSubwizard(); virtual ~newStandardSubwizard(); };
Now depending on what I do next one of two things happen.
If i just reference the header file of the other plugin as done above in the header file I get a symbolic link error from the QPluginLoader. Or if I add the header ("NewWizardPlugin.h") to the include headers of the .pro file for the newStandardSubwizard plugin, I get moc errors. Has anyone done this before, can offer any ideas, i'm fairly stuck on this.
For the interface part, you could have a common library that offers all the interfaces (e.g. MyAbstractPluginInterface) that your plugin will use and link to that library.
Hope it helps