immer NULL bei QPluginLoader :-(

Alles rund um die Programmierung mit Qt
Antworten
[ToTTo]
Beiträge: 41
Registriert: 2. November 2005 19:00

immer NULL bei QPluginLoader :-(

Beitrag von [ToTTo] »

Hallo,

ich habe ein Problem bei der Erstellung von DLLs unter QT 4.
Die DLL, die ich gemacht habe, wird in meiner Hauptapplikation leider nicht in den QPluginLoader eingeladen (bekomme einen NULL-Pointer zurück).
Ich habe mal ne kleine DLL als Beispiel gemacht wo aber leider derselbe Fehler entsteht.
Hier die Schnittstelle:

Code: Alles auswählen

class Test
{
public:
	virtual ~Test() = 0;
	virtual int get_Integer() = 0;
};
Q_DECLARE_INTERFACE(Test, "1")
Header der Plugin-Klasse:

Code: Alles auswählen

#ifndef MYQTPROJECT_H
#define MYQTPROJECT_H

#include <QtCore/qglobal.h>
#include "interface.h"

#ifdef Q_OS_WIN
#  ifdef BUILD_MYQTPROJECT
#    define MYQTPROJECT_EXPORT __declspec(dllexport)
#  else
#    define MYQTPROJECT_EXPORT __declspec(dllimport)
#  endif
#else
#  define MYQTPROJECT_EXPORT
#endif

#endif

class Plugin : public QObject, public Test
{
	Q_OBJECT
	Q_INTERFACES(Test)
public:
	Plugin()
	{
	}
	~Plugin()
	{
	}
	int get_Integer()
	{
		return 5;
	}
}
Q_EXPORT_PLUGIN(Plugin)
und hier eine kleine Hauptapplikation:

Code: Alles auswählen

#include <QCoreApplication>
#include <QPluginLoader.h>
#include "interface.h"

#include <iostream>

int main(int argc, char *argv[])
{
	QCoreApplication app(argc, argv);
	QPluginLoader loader("C:/MyQtProject2/debug/MyQtProject.dll");
	QObject* object;
	object = loader.instance();
        
    return 0;
}
Ich habe das Gefühl das bei der Erstllung schon was schief geht.
Ich erzeuge einfach ein neues QT Shared Library Projekt, werfe alle Dateien bis auf die Hauptdatei raus und schreibe meinen Code in die Hauptdatei.

Ich hoffe mir kann jemand helfen....

Gruß

ToTTo
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Du brauchst ein Plugin Object, kein Shared Object
[ToTTo]
Beiträge: 41
Registriert: 2. November 2005 19:00

Beitrag von [ToTTo] »

Wie funktioniert die Erstellung eines Plugin Objektes unter WIndows genau?
Antworten