Bonjour,
Je suis débutant en C++ et wxWidgets et j'ai un problème de compilation :
J'obtiens le résultat suivant dans VC++:
J'ai compilé wxWidgets auparavant. J'utilise la version Unicode Debug des libraries plutôt que debug simple, qui provoque 42 erreurs au lieu des 9 ci-dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 1>Toile_GL.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall wxGLCanvas::~wxGLCanvas(void)" (??1wxGLCanvas@@UAE@XZ) référencé dans la fonction __unwindfunclet$??0Toile_GL@@QAE@PAVwxWindow@@PBDHH_N@Z$0 1>Toile_GL.obj : error LNK2019: symbole externe non résolu "public: __thiscall wxGLCanvas::wxGLCanvas(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &,int *,class wxPalette const &)" (??0wxGLCanvas@@QAE@PAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@PAHABVwxPalette@@@Z) référencé dans la fonction "public: __thiscall Toile_GL::Toile_GL(class wxWindow *,char const *,int,int,bool)" (??0Toile_GL@@QAE@PAVwxWindow@@PBDHH_N@Z) 1>Toile_GL.obj : error LNK2001: symbole externe non résolu "public: virtual class wxClassInfo * __thiscall wxGLCanvas::GetClassInfo(void)const " (?GetClassInfo@wxGLCanvas@@UBEPAVwxClassInfo@@XZ) 1>Toile_GL.obj : error LNK2001: symbole externe non résolu "protected: virtual struct wxEventTable const * __thiscall wxGLCanvas::GetEventTable(void)const " (?GetEventTable@wxGLCanvas@@MBEPBUwxEventTable@@XZ) 1>Toile_GL.obj : error LNK2001: symbole externe non résolu "protected: virtual class wxEventHashTable & __thiscall wxGLCanvas::GetEventHashTable(void)const " (?GetEventHashTable@wxGLCanvas@@MBEAAVwxEventHashTable@@XZ) 1>Toile_GL.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall wxGLContext::~wxGLContext(void)" (??1wxGLContext@@UAE@XZ) référencé dans la fonction "public: void __thiscall Toile_GL::initGL(void)" (?initGL@Toile_GL@@QAEXXZ) 1>Toile_GL.obj : error LNK2019: symbole externe non résolu "public: void __thiscall wxGLCanvas::SetCurrent(class wxGLContext const &)const " (?SetCurrent@wxGLCanvas@@QBEXABVwxGLContext@@@Z) référencé dans la fonction "public: void __thiscall Toile_GL::initGL(void)" (?initGL@Toile_GL@@QAEXXZ) 1>Toile_GL.obj : error LNK2019: symbole externe non résolu "public: __thiscall wxGLContext::wxGLContext(class wxGLCanvas *,class wxGLContext const *)" (??0wxGLContext@@QAE@PAVwxGLCanvas@@PBV0@@Z) référencé dans la fonction "public: void __thiscall Toile_GL::initGL(void)" (?initGL@Toile_GL@@QAEXXZ) 1>L:\internarration\western\C++\VC9++\Editeur\editeur0\Debug\editeur0.exe : fatal error LNK1120: 8 externes non résolus
J'ai lié dans les "Dépendances supplémentaires" du projet les librairies suivantes :
wxbase28ud.lib
wxbase28ud_net.lib
wxbase28ud_odbc.lib
wxbase28ud_xml.lib
wxexpatd.lib
wxjpegd.lib
wxmsw28ud_adv.lib
wxmsw28ud_aui.lib
wxmsw28ud_core.lib
wxmsw28ud_dbgrid.lib
wxmsw28ud_gl.lib
wxmsw28ud_html.lib
wxmsw28ud_media.lib
wxmsw28ud_qa.lib
wxmsw28ud_richtext.lib
wxmsw28ud_xrc.lib
wxpngd.lib
wxregexd.lib
wxzlibd.lib
wxtiffd.lib
Sinon le code qui pose problème est le suivant:
Visiblement, wxGLCanvas et wxGLContext ne sont pas reconnus par le compilateur malgré l'inclusion de wx/glcanvas.h .
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 #ifndef TOILEGL_H #define TOILEGL_H #include "wx/wx.h" #include <wx/glcanvas.h> #include "gl/GLU.h" #include "GestionDoc.h" // Un fichier perso //Toile OpenGL class Toile_GL : public wxGLCanvas { private: GestionDoc * GDoc; int largeur; int hauteur; public: // Constructeur Toile_GL(wxWindow* parent, const char* nom, int larg, int haut, bool nouv = false); virtual ~Toile_GL() {}; void initGL(); int getLarg(); int getHaut(); }; #endif // TOILEGL_H
Quelqu'un aurait-il une solution? Merci.
Eric 'Henn' Niubo
Partager