Cześć. Potrzebuje w swojej aplikacji linkować statycznie do swojego pluginu. Plugin kompiluję się prawidłowo (otrzymuje pliki *.a i *.o).
Plik .h ma postać:
#include <QtPlugin>
#include <QWidget>
#include "pluginInterface.h"
class myPlugin: public QWidget, public pluginInterface
{
Q_OBJECT
Q_INTERFACES(pluginInterface)
public:
explicit generalSettingsWidget(QWidget *parent = 0);
~generalSettingsWidget();
...
}
i .cpp:
#include "myPlugin.h"
myPlugin::myPlugin(QWidget *parent) :
QWidget(parent)
{
}
Q_EXPORT_PLUGIN2 (myPlugin, myPlugin)
...
I teraz chciałbym go statycznie linkować z aplikacją, w tym celu w pliku .pro aplikacji dodaje
LIBS += "pelna_sciezka_do_myPlugin.a"
Oczywiście w main.cpp jest odpowiednie makro:
#include <QtGui/QApplication>
#include <QtPlugin>
Q_IMPORT_PLUGIN(myPlugin)
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
...
return a.exec();
}
I niestety w linijce z Q_IMPORT_PLUGIN otrzymuje błąd
undefined reference to
qt_plugin_instance_myPlugin()'`
Już pół dnia walczę z tym problemem i nie potrafię się go pozbyć. Co robię źle?