Obtenir une instance d'un objet depuis une dll
Bonjour,
je realise un petit projet qui doit charger une dll puis en extraire une instance d'un objet QWidget.
Mon projet charge correctement ma dll de test unitaire et fait correctement fonctionner ma fonction Helloworld. En revanche, il m'est impossible d'obtenir l'objet que je souhaite, ca plante sans message d'erreur.
Je me demande si j'ai choisi la bonne methode?
Est ce qu'il faut lier ma dll aux dlls Qt?
Voici le code de ma library de test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#ifndef DYNLIB_H_
# define DYNLIB_H_
#ifdef WIN32
#define DLEXPORT __declspec(dllexport)
#define DLIMPORT __declspec(dllimport)
#else
#define DLEXPORT
#define DLIMPORT
#endif
#include <iostream>
#endif // !DYNLIB_H_ |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#include "DynLib.h"
#include <QWidget>
extern "C" void DLEXPORT helloWorld() {
std::cout << "Hello World!" << std::endl;
}
extern "C" QWidget* DLEXPORT addonWidget(QWidget* mainWidget) {
return new QWidget(mainWidget);
} |