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 :

Utilisation de namespace et include d'openGL


Sujet :

C++

  1. #1
    Membre �clair�
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Par d�faut Utilisation de namespace et include d'openGL
    Bonjour � tou(te)s,

    Je tente d'utiliser un namespace, et tout se passe bien jusqu'� la mise en place grpahismes openGL. Plus rien ne compile et il me sort des erreurs bizarres.
    Au d�but, j'avais mis les include dans le namespace et, ok, c'�tait idiot , mais l�, je ne comprends pas. A mois qu'openGL utilise d�j� le namespace gj ???

    Voil� le bout de code :
    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 <gl/gl.h>
    #include <gl/glaux.h>
    #include "gui_button.hpp"
     
    namespace jg
    {
     
    void GUI_Button::DrawObject (sf::RenderWindow& App)
    {
        sf::IntRect r(100, 100, 200, 200);
        sf::Sprite s;
     
        glEnable (GL_SCISSOR_TEST);
        // En bas à gauche, puis la largeur et la hauteur !!!
        glScissor(r.Left, App.GetHeight() - r.Bottom, r.GetWidth(), r.GetHeight());
     
        s.SetColor (sf::Color(255, 0, 255, 255));
        s.SetPosition (125, 170);
        s.SetSubRect (sf::IntRect(0, 0, 50, 10));
        App.Draw (s);
     
        glDisable (GL_SCISSOR_TEST);
    }
     
    } // namespace jg
    Et les erreurs :
    ..\..\libs externes\include\gl\gl.h:1152: error: expected constructor, destructor, or type conversion before "void"
    ..\..\libs externes\include\gl\gl.h:1152: error: expected `,' or `;' before "void"
    ..\..\libs externes\include\gl\gl.h:1153: error: expected constructor, destructor, or type conversion before "void"
    ..\..\libs externes\include\gl\gl.h:1153: error: expected `,' or `;' before "void"
    ..\..\libs externes\include\gl\gl.h:1154: error: `WINGDIAPI' does not name a type
    [bla bla bla]
    :: === Build finished: 50 errors, 0 warnings ===

  2. #2
    Membre confirm� Avatar de zabibof
    Inscrit en
    F�vrier 2007
    Messages
    188
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2007
    Messages : 188
    Par d�faut
    Moi aussi j'ai d�j� eu ce probl�me mais je ne me souviens vraiment pas comment j'ai fait

    Juste pour voir ce que �a donne, essayes "using namespace" au lieu de "namespace{}"

  3. #3
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Peut �tre qu'en postant dans le forum OpenGL, tu auras plus de r�ponses.

    Est ce que je d�place ?
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre �clair�
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Par d�faut
    Euh, je pense qu'il s'agit d'un probl�me de namespace et donc de C++, non ?
    si personne ne r�pond ou ne peut r�pondre, je le fermerai et j'irai voir ailleurs (openGL)

  5. #5
    Membre tr�s actif
    Avatar de buggen25
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Ao�t 2008
    Messages
    554
    D�tails du profil
    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Communication - M�dias

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 554
    Par d�faut
    essay using namespace jg;

  6. #6
    Membre �clair�
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Par d�faut
    Nop, ca ne change rien...
    En m�me temps, je veux vraiment d�finir ma classe et son code (hpp et cpp) dans le namespace jg hein

  7. #7
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par d�faut
    Citation Envoy� par Mindiell Voir le message
    A mois qu'openGL utilise d�j� le namespace gj ???
    Non, c'est une biblioth�que C, il n'y avait pas de namespace, c'est pour �a que tu trouves un tas de suffixe (gl, glut, etc.) devant les fonctions de biblioth�ques C. En C++ les namespaces sont justement venu palier ce probl�me de port�e.

    Par curiosit�, tu utilises aussi glut ?

    Sinon, je vois :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    #include <gl/gl.h>
    #include <gl/glaux.h>
    #include "gui_button.hpp"
    Pourquoi tu les inclus dans le .cpp et pas dans le .hpp ? Je ne sais pas si c'est �a, mais peut-�tre que quelque part tu inclus "gui_button.hpp", mais pas les gl.h et glaux.h dont il a besoin ?

  8. #8
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    L'erreur est sur un WINAPI non ? Sous Windows il faut inclure windows.h avant gl.h.

  9. #9
    Membre �clair�
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Par d�faut
    Excellent !

    Noxen> Je n'en ai pas besoin dans le .h, je souhaite simplement utiliser des fonctions openGL lors du Draw. Mon objet n'utilise pas du tout openGL sinon.

    Laurent> C'est surement ca, quand j'ai utilis� opengl avant, j'incluais juste avant <SFML/Graphics.hpp> (de la SFML pour les ignorants ). Hors, l�, j'inclus le graphics dans mon objet (qui utilise des types SFML). Et j'ai l'habitude d'inclure les <> toujours avant mes propres include "" !
    En inversant ces includes (mon "button.hpp" en premier) : ca fonctionne nickel !

  10. #10
    Mod�rateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur d'emploi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par d�faut
    Essaie extern "C" { } autour de tes includes. Sinon, les d�clarations seront prises pour des ressources C++ et tu risques d'avoir des difficult�s � l'�dition des liens.

  11. #11
    screetch
    Invit�(e)
    Par d�faut
    c'est plutot a la bibliotheque externe de faire ca, pas a l'utilisateur.

  12. #12
    Mod�rateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur d'emploi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par d�faut
    Citation Envoy� par screetch Voir le message
    c'est plutot a la bibliotheque externe de faire ca, pas a l'utilisateur.
    Non, la biblioth�que externe a �t� �crite en C. Ce n'est pas � elle de faire de la compatibilit� � descendante � ...

  13. #13
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Ao�t 2004
    Messages
    1 717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 717
    Par d�faut
    Oui je pense aussi que c'est extern C qui manque, r�cemment en me remettant a lua j'arr�tais pas de retomber exactement sur la m�me erreur et a chaque fois je me rappelais qu'une heure plus tard que c'�tait extern C qui manquait... *se tappe le front*

  14. #14
    Membre confirm� Avatar de zabibof
    Inscrit en
    F�vrier 2007
    Messages
    188
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2007
    Messages : 188
    Par d�faut
    Vous n'avez pas vu? C'est d�j� r�solu

    Et ce n'est pas extern "C"{} mais comme Laurent l'a dit, c'est l'include de windows.h qu'il faut faire avant gl.h, maintenant, je me souviens que c'�tait aussi mon probl�me quand j'ai eu la m�me erreur.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XSLT][XPath] XML utilisant plusieurs namespace
    Par darkangelvador dans le forum XSL/XSLT/XPATH
    R�ponses: 13
    Dernier message: 07/04/2010, 21h46
  2. probl�me d'utilisation de namespace
    Par modafine dans le forum C++
    R�ponses: 1
    Dernier message: 22/04/2009, 20h55
  3. utilisation de visual c++ express et opengl
    Par skerdreux dans le forum Visual C++
    R�ponses: 3
    Dernier message: 29/07/2008, 09h36
  4. Utiliser les Namespace pour appeler des fonctions
    Par Flamby38 dans le forum VB.NET
    R�ponses: 2
    Dernier message: 30/01/2008, 17h27
  5. probleme dans l'utilisation de la fonction include
    Par cortex007 dans le forum Langage
    R�ponses: 7
    Dernier message: 27/01/2006, 17h37

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