Polymorphes QWidget über dll
Verfasst: 25. August 2009 11:54
Hallo,
ich versuche gerade, eine polymorphe Klasse zu erstellen. Ist auch kein Problem, funktioniert soweit einwandfrei. Wenn ich untenstehenden Code so in eine Headerdatei einfüge, funktioniert alles. Jetzt möchte ich jedoch die untere Klasse testNode in ein separates Projekt (dynamische Bibliothek) einfügen. Uns sobald ich das tue, kommen bei mir linker fehler:
Leider weiss ich überhaupt nicht wo ich zu suchen habe, bin dankbar für jeden Hinweis...
Achja, ich verwende Visual Studio 2005 mit Qt integration, falls das relevant ist.
Und bevor ich Schelte bekomm, dies sei kein Qt Problem, sobald das Q_OBJECT und natürlich die slots aus den Klassen raus sind, funktionierts.
ich versuche gerade, eine polymorphe Klasse zu erstellen. Ist auch kein Problem, funktioniert soweit einwandfrei. Wenn ich untenstehenden Code so in eine Headerdatei einfüge, funktioniert alles. Jetzt möchte ich jedoch die untere Klasse testNode in ein separates Projekt (dynamische Bibliothek) einfügen. Uns sobald ich das tue, kommen bei mir linker fehler:
Code: Alles auswählen
moc_linnodes.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct QMetaObject const linNode::staticMetaObject" (?staticMetaObject@linNode@@2UQMetaObject@@B)".
Code: Alles auswählen
class linNode : public QWidget
{
Q_OBJECT
public:
linNode(QWidget* parent = 0, Qt::WindowFlags f = 0);
virtual const bool isInit() = 0;
public slots:
virtual void testslot() = 0;
};
class testNode : public linNode
{
Q_OBJECT
public:
testNode(QWidget* parent = 0, Qt::WindowFlags f = 0);
const bool isInit();
public slots:
void testslot();
};
Achja, ich verwende Visual Studio 2005 mit Qt integration, falls das relevant ist.
Und bevor ich Schelte bekomm, dies sei kein Qt Problem, sobald das Q_OBJECT und natürlich die slots aus den Klassen raus sind, funktionierts.