problème d'exécution de dll
Bonjour,
Je me lance aujourd'hui dans ma premiére dll sous Qt et j'ai un petit probléme lors de l'éxécution d'une des classe de ma librairie dans un programme.
Alors j'explique tout ca, j'ai ma dll Qt qui s'appelle PROCESS_LIB. dans cette dll j'ai 3 fichier.
le premier processlib_global.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #ifndef PROCESSLIB_GLOBAL_H
#define PROCESSLIB_GLOBAL_H
#include <QtCore/qglobal.h>
#include <QVariant>
#include <QStandardItemModel>
#include <QStandardItem>
#if defined(PROCESSLIB_LIBRARY)
# define PROCESSLIBSHARED_EXPORT Q_DECL_EXPORT
#else
# define PROCESSLIBSHARED_EXPORT Q_DECL_IMPORT
#endif
#endif // PROCESSLIB_GLOBAL_H |
Le second Material.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #ifndef MATERIAL_H
#define MATERIAL_H
#include "ProcessLib_global.h"
class PROCESSLIBSHARED_EXPORT Material
{
public:
Material();
Material(const Material& other);
~Material();
inline const int& Id() {return _Id;}
inline const int& Goal() {return _Goal;}
inline const int& Reach() {return _Reach;}
inline const int& Humidity() {return _Humidity;}
QStandardItemModel GetModel();
static void InitMaterialSystem ();
private:
QStandardItemModel _Model;
int _Id;
int _Goal;
int _Reach;
int _Humidity;
friend QDataStream & operator << (QDataStream &, const Material &);
friend QDataStream & operator >> (QDataStream &, Material &);
};
Q_DECLARE_METATYPE(Material)
QDataStream & operator << (QDataStream & out, const Material & Valeur);
QDataStream & operator >> (QDataStream & in, Material & Valeur);
#endif // MATERIAL_H |
et le 3, c'est <gras>Material.cpp</gras> qui est sans importance.
Ensuite j'ai un programme test avec le main suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include <QtGui/QApplication>
#include <QtGui>
#include <Material.h>
int main(int argc, char argv[])
{
QApplication a(argc, argv);
Material mat;
return a.exec();
} |
et le .pro de Qt creator comme suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| # -------------------------------------------------
# Project created by QtCreator 2010-06-18T15:58:42
# -------------------------------------------------
TARGET = Test
TEMPLATE = app
SOURCES += main.cpp \
widget.cpp
HEADERS += widget.h
PROCESS_LIB_PATH = ../ProcessLib
DEFINES += PROCESSLIB_LIBRARY
INCLUDEPATH += $$PROCESS_LIB_PATH
CONFIG(debug, debug|release):LIBS += -L$$PROCESS_LIB_PATH\debug\
-lProcessLib
else:LIBS += -L$$PROCESS_LIB_PATH\release \
-lProcessLib |
CONSEQUENCES:
Quand j'exécute en release j'ai l'erreur suivante:
Code:
\Test.exe s'est terminé avec le code -1073741515
et quand je l'éxécute en debug avec un point d'arret Qt creator bug. est ce quelqu'un aurait-il une idée, merci.