Library (DLL) Problem
Verfasst: 4. August 2008 18:33
Hallo Leute! =)
Ich habe da ein kleines Programm gebastelt, welches mit dazugehörigen Shared Libraries erweitert werden soll. Realisiert wird das mit QLibrary.
Funktioniert soweit alles - meine Bibliothek wird geladen und funktioniert. In der Bibliothek befindet sich eine Klasse, die musste ich aber in ein extern "C" einbetten, da der Linker sonst die Symbole der Klasse nicht gefunden hätte. Problematisch ist nun, dass ich die Signal/Slots nutzen möchte und dafür ein Q_OBJECT in meine Klassendefinition muss, dass wiederrum führt aber zu nem Linkerfehler "template on C linkage", da Q_OBJECT wohl templates verwendet und das mit C code nicht vermischbar ist.
Was kann ich da nun tun?
Anbei ein kleiner Codeausschnitt:
Danke!
Ich habe da ein kleines Programm gebastelt, welches mit dazugehörigen Shared Libraries erweitert werden soll. Realisiert wird das mit QLibrary.
Funktioniert soweit alles - meine Bibliothek wird geladen und funktioniert. In der Bibliothek befindet sich eine Klasse, die musste ich aber in ein extern "C" einbetten, da der Linker sonst die Symbole der Klasse nicht gefunden hätte. Problematisch ist nun, dass ich die Signal/Slots nutzen möchte und dafür ein Q_OBJECT in meine Klassendefinition muss, dass wiederrum führt aber zu nem Linkerfehler "template on C linkage", da Q_OBJECT wohl templates verwendet und das mit C code nicht vermischbar ist.
Was kann ich da nun tun?
Anbei ein kleiner Codeausschnitt:
Code: Alles auswählen
#include <QObject>
#include <QStringList>
extern "C" {
class ModControl : public QObject {
Q_OBJECT
private:
bool isCreated;
public:
ModControl();
~ModControl();
public slots:
void send(const QStringList &strlArgs);
};
}