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

OpenGL Discussion :

Erreur include vector et glut.h


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 61
    Par défaut Erreur include vector et glut.h
    Voici mon code

    Fichier skeletonBody.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "skeletonBody.h"
    #include <glut.h>
     
    void skeletonBody::draw(){
    	glLoadIdentity();
    	glBegin(GL_POLYGON);
    	glEnd();
    }
    Fichier skeletonBody.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <glut.h>
    #include "skeleton.h"
     
    class skeletonBody : public skeleton{
    public:
    	void draw();
    private:
    	GLfloat rotation[3];			// Angle de rotation de la partie
    	GLfloat translation[3];			// Vecteur translation de la partie par rapport au point (0,0) de l'environnement
    };
    Fichier skeleton.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class skeleton{
    public:
    	virtual void draw();			// Méthode d'affichage de la partie
    protected:
    	//vector<link *> links;			// Vecteur des liaisons vers les parties filles
    	GLfloat color[3];				// La couleur de la partie
    	vector<GLfloat *> vertices;		// Vecteur des points qui constituent l'objet
    };
    Si je compile comme ca il me fait une erreur qui a l'air de venir du fait qu'il connait pas vector. Si je rajoute #include <vector> dans le fichier skeleton.h, j'ai une erreur de redefintion
    'exit' : redéfinition ; __declspec(noreturn) est différent
    et si a la place je met using namespace std (sans mettre d'include) il me dit que std n'est pas une fichier de namespace. Je ne sais pas trop quoi faire pour que ca marche. Est ce que glut inclut vector ?
    Merci

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    Attention, sous windows, il est conseillé d'inclure windows.h avant glut.h (en fait, selon les version de glut.h ca peut poser des problèmes...)
    ce qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "skeletonBody.h"
    #ifdef WIN32
    #include <windows.h>
    #endif
    #include <glut.h>
     
    void skeletonBody::draw(){
        glLoadIdentity();
        glBegin(GL_POLYGON);
        glEnd();
    }
    Fichier skeletonBody.h
    Pas la peine d'inclure glut.h, gl.h doit suffire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #ifdef WIN32
    #include <windows.h>
    #endif
    #include <GL/gl.h>
    #include "skeleton.h"
     
    class skeletonBody : public skeleton{
    public:
        void draw();
    private:
        GLfloat rotation[3];            // Angle de rotation de la partie
        GLfloat translation[3];            // Vecteur translation de la partie par rapport au point (0,0) de l'environnement
    };
    Fichier skeleton.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
     
    #ifdef WIN32
     #include <windows.h>
     #endif
    #include <GL/gl.h>
    #include <vector>
    // eviter les using namespace dans les fichier .h (par contre dans les .cpp pas de problèmes)
    class skeleton{
    public:
        virtual void draw();            // Méthode d'affichage de la partie
    protected:
        //vector<link *> links;            // Vecteur des liaisons vers les parties filles
        GLfloat color[3];                // La couleur de la partie
        std::vector<GLfloat *> vertices;        // Vecteur des points qui constituent l'objet
    };
    normalement, c'est quelque chose comme ca (je peut pas compiler, donc je fait ca au feeling )

    d'ailleur, je vient de remarquer quelque chose : tu utilise toujours glut.h alors qu'a priori, tu n'a pas de code glut, juste de l'openGL standard... donc autant eviter d'utiliser glut si tu n'en a pas besoin dans tes fichiers...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 61
    Par défaut
    Merci beacoup, ça marche maintenant. Désolé pour le temps de réponse comme j'arrivais pas à faire marcher le code, j'avais changé tous mes vecteurs en tableaux, j'ai du faire l'opération inverse

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

Discussions similaires

  1. Message d'erreur include
    Par binco dans le forum Langage
    Réponses: 4
    Dernier message: 07/04/2015, 20h40
  2. Réponses: 0
    Dernier message: 13/12/2008, 12h46
  3. [VC6] Pb include <vector>
    Par Herode dans le forum MFC
    Réponses: 2
    Dernier message: 21/02/2006, 14h15
  4. Erreur d'include entre Jvcl et Excel_2k
    Par Djob dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/11/2005, 14h14
  5. [FPDF] Erreur après appel d'une fonction avec include
    Par orus8 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/11/2005, 10h49

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