[SOLVED] Probleme mit QtPlugin und einer Fabrik-Methode

Alles rund um die Programmierung mit Qt
Antworten
PeterPaulAndMary
Beiträge: 2
Registriert: 21. Juli 2010 16:05

[SOLVED] Probleme mit QtPlugin und einer Fabrik-Methode

Beitrag 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!
Dateianhänge
QTPlugin.zip
(5.48 KiB) 46-mal heruntergeladen
Zuletzt geändert von PeterPaulAndMary am 21. Juli 2010 19:59, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PeterPaulAndMary
Beiträge: 2
Registriert: 21. Juli 2010 16:05

Beitrag 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!
Antworten