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

SDL Discussion :

Include non reconnue


Sujet :

SDL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut Include non reconnue
    Bonjour tout le monde
    Désolé si je bombarde le forum avec toute mes questions ^^
    Voilà encore un problème, et donc une question
    En fait, j'inclue 2 headers dans ma class "main", mais celui que j'inclue en second n'est jamais reconnue par ma class "main", c'est à dire que tout ce qui appartient à ma 2ème include provoque des erreurs.
    Je précise que j'ai bien fait attention à ne pas faire de boucle infini.
    Voilà si quelqu'un sait comme résoudre ce problème

    Merci.

  2. #2
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Un bref aperçu du code serais un bien.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par 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
     
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <FMOD/FMOD.h>
    #include <iostream>
    #include <string>
    #include "Personnage.h"
    #include "Terrain.h"
     
     
    using namespace std;
     
    int main(int argc, char *argv[])
    {
     
    Terrain terran; //création d'un constructeur se trouvant dans "Terrain.h"
     
    SDL_FillRect(terran.getSurface(), NULL, SDL_MapRGB(terran.getSurface()->format, terran.getColorA(), terran.getColorB(), terran.getColorC());
     
    }
    Donc voilà dans ce cas là par exemple mon code à l'intérieur de la main sera reconnue comme "non identifié".
    Si j'avais inclue "terrain.h" en premier le code aurait marché. ^^
    J'espère avoir été plus clair

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 972
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 972
    Par défaut
    Hui,

    Le code des .h rendrait bien service, et éviterait de chercher où se trouve ma boule de cristal.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par 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
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <FMOD/FMOD.h>
    #include <iostream>
    #include <string>
     
    class Terrain
    {
        public:
    		Terrain(); //Constructeur
    		void creation();
    		void refresh();
    	    SDL_Surface* getSurface() const;
    		int getColorA() const;
    		int getColorB() const;
    		int getColorC() const;
     
    private :
    	int tailleH;
    	int tailleL;
    	int couleurA;
    	int couleurB;
    	int couleurC;
    SDL_Surface *surface;
    }
    Voilà le code de "terrain.h" ^^
    Et celui de "Personnage.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
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <FMOD/FMOD.h>
    #include <iostream>
    #include <string>
     
     
    class Personnage
    {
        public:
    		Personnage(); //Constructeur
    		void afficher();
    		void bouger();
    		void click();
    	    SDL_Surface* getSurface() const;
    		SDL_Rect* getPosition() const;
     
    private :
     
    	std::string image;
     SDL_Rect position;
    SDL_Surface *S_Perso;
    }
    Bon beh voilà si quelqu'un arrive à voir un problème..

  6. #6
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Tu as les mêmes includes(#include <SDL/SDL.h> #include <SDL/SDL_image.h> #include <FMOD/FMOD.h>) dans le main que dans tes .H. Tu n'aurai pas mis ça aussi dans le terrain.cpp et perso.cpp ? En tous cas, il va falloir choisir où tu veux les mettre.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 37
    Par défaut
    Il manque un point-virgule après la définition de tes classes, c'est peut-être ça. Sinon, quel est le message d'erreur de ton compilo?

  8. #8
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Ah oui, tiens ! Je ne l'avais pas vu ! (Ouh ! la vue qui baisse ^^)

  9. #9
    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
    il mpanque surtout les gardes de réinclusion, d'ou le comportement different selon l'ordre d'include.

    en gros, pour chaque fichier .h, il faut mettre un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #ifndef UN_SUPER_IDENTIFIANT_UNIQUE
    #define UN_SUPER_IDENTIFIANT_UNIQUE
     
    // contenu du .h
     
    #endif
    ainsi, tu evite le cas ou plusieurs fichiers incluent ton header, ce qui déclarerait plusieurs fois le contenu du header.
    * 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

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    mais non les ;.. Merci beaucoup

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2014, 14h44
  2. #include<evp.h> fichier non reconnu
    Par zoé78 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 14/02/2013, 11h10
  3. Réponses: 0
    Dernier message: 10/07/2012, 11h44
  4. [PHP 5.2] include() non reconnu
    Par bertrandg dans le forum Langage
    Réponses: 4
    Dernier message: 13/01/2011, 13h43
  5. Objet non reconnu dans include
    Par FotoXe33 dans le forum Langage
    Réponses: 4
    Dernier message: 21/12/2010, 17h14

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