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

 C++ Discussion :

Mon compilateur est-il fou ?


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 62
    Points
    62
    Par défaut Mon compilateur est-il fou ?
    bonjour, voici l'erreur qu'il m'affiche : C:\Users\moi\Documents\Les textures mod-\Les textures mod\Carre.h|5|error: 'glm' is not a namespace-name|

    le code source 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
     
    #ifndef CARRE_H_INCLUDED
    #define CARRE_H_INCLUDED
     
    using namespace std;
    using namespace glm;
     
    struct carre
    {
     
     
        mat4 modelview (1.0);
    };
    #endif // carre_H_INCLUDED

    je sais pas si y'a une balise a utiliser pour afficher du code source, desole si c'est le cas j'ai pas trouvé.

    edit : je precise que dans d'autres header du meme projet l'usage du namespace std ne pose aucun probleme

  2. #2
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par fderty Voir le message
    edit : je precise que dans d'autres header du meme projet l'usage du namespace std ne pose aucun probleme
    Le symbole '#' pour le code.

    Sinon, il te faut tes includes partout ou tu as besoin. Ou au strict minimum une forward déclaration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <glm/mat4.hpp> // aucune idée du nom réel de l'include
     
    namespace foo {
    struct bar;
    };
     
    using namespace glm; // pas recommandé dans un .h, mais ça compile (grace à l'include)
    using namespace foo; // pas recommandé non plus, mais ok, gràce à la forward délaration
     
    struct Foo {
       mat4 m;
       bar *pBar;
    };

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    dans un autre header j'utilie ce namespace sans ajouter les fichier GLM et ca marche parfaitement, je crois que l'erreur est ailleurs

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tu utilises une glm::mat4, et un using namespace glm sans l'avoir inclus.
    C'est on ne peut plus moche et non recommandé qu'un using dans un header. Surtout dans le namespace global.

    dans un autre header j'utilie ce namespace sans ajouter les fichier GLM et ca marche parfaitement, je crois que l'erreur est ailleurs
    Parce que par chance le fichier est inclus avant d'inclure ton header, donc l'unité de compilation le connait.

    Mais ça reste moche. Il faut inclure les fichiers dont tu utilises les types/méthodes là où tu les utilises. Si c'est dans un header, il doit les inclure.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    oui je code a l'arrache , merci de votre aide

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

Discussions similaires

  1. [Pattern][Regex] vérifier que mon email est valide
    Par anitshka dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 23/05/2011, 13h03
  2. [Débutant]Mon compilateur est-il vieux ?
    Par Janitrix dans le forum C
    Réponses: 2
    Dernier message: 18/10/2006, 21h35
  3. [Access] Mon application est détruite !!!
    Par mathias dans le forum Access
    Réponses: 4
    Dernier message: 26/06/2003, 14h14

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