wie bereits einige vor mir, habe auch ich ernsthafte Probleme ein Plugin per QPluginLoader zu laden. Ich bin strikt nach dem HOWTO vorgegangen - ohne Erfolg. Ich habe extra darauf geachtet, dass sowohl die App als auch das Plugin im gleichen Modus compiled werden, aber das bringt leider nichts...
Ich hoffe ihr seht den Fehler. Leider ist Qt an dieser Stelle nicht sehr auskunftsfreudig
Das Interface:
Code: Alles auswählen
#include <QObject>
#include <QtPlugin>
class IPlugin
{
public:
virtual ~IPlugin() {};
virtual void test() const = 0;
};
Q_DECLARE_INTERFACE(IPlugin,"IPlugin/1.0")
Code: Alles auswählen
#include <QtPlugin>
#include "iplugin.h"
class Plugin : public QObject, public IPlugin
{
Q_OBJECT
Q_INTERFACES(IPlugin)
public:
void test() const;
};
// ab hier die Implementierung
Q_EXPORT_PLUGIN2(plugin, Plugin)
void Plugin::test() const
{
qDebug("Plugin loaded...");
}
Hier die .pro files:
Code: Alles auswählen
SUBDIRS += src \
plugin
TEMPLATE = subdirs
CONFIG += warn_on \
debug
/////////////////////////////
SOURCES += main.cpp
TEMPLATE = app
CONFIG += warn_on \
debug
TARGET = ../bin/app_plugin
QT -= gui
/////////////////////////////
TEMPLATE = lib
CONFIG += plugin \
warn_on \
debug
HEADERS += iplugin.h \
plugin.h
SOURCES += plugin.cpp
DESTDIR = ../bin/plugins
TARGET = plugin