Seite 1 von 1

[SOLVED] Probleme mit QtPlugin und einer Fabrik-Methode

Verfasst: 21. Juli 2010 16:45
von PeterPaulAndMary
Moin,

ich brauche für mein Programm mehrere Instanzen von dem selben Plugin, welches ich durch eine Fabrik-Methode realisieren wollte.
Daher beinhaltet mein Interface

Code: Alles auswählen

virtual QObject *createInstance() = 0;
und die Implementierung des Plugins:

Code: Alles auswählen

QObject *TemplatePlugin::createInstance()
{
    return new TemplatePlugin();
}
Das Problem ist jedoch, dass beim linken immer folgende Fehlermeldung kommt, obwohl ich die LIBS Variable meiner Meinung nach richtig gesetzt habe:

undefined reference to `_imp___ZTV15PluginInterface'

Ich habe mal ein minimales Beispielprojekt angehängt, welches genau mein Problem darstellt.
Ich hoffe es findet sich jemand, der mir hierbei helfen kann.

Besten Dank im voraus!

Verfasst: 21. Juli 2010 18:50
von Christian81
Da Du keinen default ctor hast, generiert den Compiler normalerweise selbst einen. Da Du aber in Deinem PluginInterface keine Lib erzeugst (ist ja kein Code zum Kompilieren da) kann der Compiler den automatisch generierten default ctor nirgends unterbringen. Beim späteren Linken wird er allerdings benötigt wie Du siehst.
--> schreib nen eigenen ctor und/oder lass PLUGININTERFACESHARED_EXPORT da Du ja sowieso nichts zum exportieren hast.

Verfasst: 21. Juli 2010 19:22
von PeterPaulAndMary
N Abend,

das wars. Eigentlich auch logisch, aber da hatte ich n Brett vor dem Kopf, leider schon 2 Tage, naja. ;)

Vielen Dank auf jeden Fall für die Hilfe!