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);
}