Bonjour,
Je souhaite créer une DLL intégrant un QGraphicsView.
J'ai créé une application simple qui fait ce que je veux:
Ça fonctionne...
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #include "mainwindow.h" #include <QApplication> #include <QgraphicsView> #include <QgraphicsScene> int AfficherRectangle(QGraphicsScene & scene, qreal x1, qreal y1, qreal x2, qreal y2, const QPen & pen = QPen()) { scene.addLine(x1,y1,x1,y2,pen); scene.addLine(x1,y2,x2,y2,pen); scene.addLine(x2,y2,x2,y1,pen); scene.addLine(x2,y1,x1,y1,pen); return 0; } int main(int argc, char *argv[]) { QApplication a(argc, argv); QGraphicsScene scenePrinc; QColor rouge(255,0,0); QColor bleu(0,0,255); QColor vert(0,255,0); QPen pen; pen.setColor(vert); pen.setWidth(5); AfficherRectangle(scenePrinc, -20, -20, 100, 50, pen); scenePrinc.addText("Hello, world!"); QGraphicsView view(&scenePrinc); view.show(); return a.exec(); }
Maintenant, je voudrais que cette fenêtre graphique soit une DLL.
J'ai créé un projet Bibliothèque et ai recopié mon code.
header:
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
16
17 QT -= gui TARGET = Essai_DLL TEMPLATE = lib DEFINES += ESSAI_DLL_LIBRARY SOURCES += essai_dll.cpp HEADERS += essai_dll.h\ essai_dll_global.h unix { target.path = /usr/lib INSTALLS += target }
fichier cpp
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
16
17 #ifndef ESSAI_DLL_H #define ESSAI_DLL_H #include "essai_dll_global.h" class ESSAI_DLLSHARED_EXPORT Essai_DLL { public: Essai_DLL(); int AfficherRectangle(QGraphicsScene & scene, qreal x1, qreal y1, qreal x2, qreal y2, const QPen & pen = QPen()); int main(void); }; #endif // ESSAI_DLL_H
Il me met un défaut:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #include "essai_dll.h" //#include <QApplication> #include <QgraphicsView> #include <QgraphicsScene> Essai_DLL::Essai_DLL() { main(); } int Essai_DLL::AfficherRectangle(QGraphicsScene & scene, qreal x1, qreal y1, qreal x2, qreal y2, const QPen & pen = QPen()) { scene.addLine(x1,y1,x1,y2,pen); scene.addLine(x1,y2,x2,y2,pen); scene.addLine(x2,y2,x2,y1,pen); scene.addLine(x2,y1,x1,y1,pen); return 0; } int Essai_DLL::main(void) { QApplication a(argc, argv); QGraphicsScene scenePrinc; QColor rouge(255,0,0); QColor bleu(0,0,255); QColor vert(0,255,0); QPen pen; pen.setColor(vert); pen.setWidth(5); AfficherRectangle(scenePrinc, -20, -20, 100, 50, pen); scenePrinc.addText("Hello, world!"); QGraphicsView view(&scenePrinc); view.show(); return a.exec(); }
Essai_DLL\essai_dll.cpp:2: erreur : QgraphicsView: No such file or directory
#include <QgraphicsView>
^
Que dois-je ajouter pour qu'il trouve la bibliothèque QgraphicsView ?
Merci
Partager