IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

wxGLCanvas non reconnu à la compilation


Sujet :

wxWidgets

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Points : 25
    Points
    25
    Par défaut wxGLCanvas non reconnu à la compilation
    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++:

    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 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.

    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:

    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
    Visiblement, wxGLCanvas et wxGLContext ne sont pas reconnus par le compilateur malgré l'inclusion de wx/glcanvas.h .

    Quelqu'un aurait-il une solution? Merci.

    Eric 'Henn' Niubo

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour et bienvenu,
    As-tu compilé wxWidget avec wxUSE_GLCANVAS positionné à 1?
    Dans les répertoires d'include il faut que [...]\wxWidgets-2.8.8\lib\gcc_lib\mswd soit le premier.
    Mon ordre des libs est chez moi:
    aui,adv,gl,core,base39d

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Points : 25
    Points
    25
    Par défaut Tests...
    Merci beaucoup.

    Je vais tester tout ça et je réponds dès que j'ai un résultat précis dans le bon ou dans le mauvais sens.

    Eric

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 28
    Points : 25
    Points
    25
    Par défaut Compilation OK
    J'ai trouvé cette fameuse variable que je ne connaissais pas, j'ai modifié l'ordre dans lequel étaient mes libs et visiblement la compilation s'est bien passé.

    Le temps de la compil a été assez long et le '.exe' final pèse près de 4 MO, mais il s'agit d'un programme complexe.

    Pour l'instant le programme lui-même est encore trop buggué pour que je puisse être sûr du résultat, mais au moins la compil semble s'être bien passée.

    Merci beaucoup.

    Eric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/07/2012, 11h44
  2. Réponses: 4
    Dernier message: 23/09/2007, 19h10
  3. Réponses: 4
    Dernier message: 01/08/2007, 14h37
  4. Réponses: 7
    Dernier message: 18/03/2007, 02h13
  5. time.h non reconnu en compilant avec gcc
    Par chris78 dans le forum Bibliothèques
    Réponses: 12
    Dernier message: 28/07/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo