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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Partager