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 :

[Débutant] Compiler glu.h sous Code::Blocks


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut [Débutant] Compiler glu.h sous Code::Blocks
    Bonjour,

    J'aimerais me mettre au C++, et à l'openGL par la même occasion.
    J'ai choisi Code::Blocks comme IDE, pusique vous en dites du bien sur developper.com.

    Il y a un sample de projet en opengl qui est proposé à la création d'un nouveau projet. celui ci compile et fait tournée une caméra au-dessus d'un triangle coloré sans problème. Mais cet exemple est assez bas niveau..

    J'ai voulu essayé un autre exemple, plus simple à comprendre, dont voici le code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <GL/glut.h> //La bibliotheque glut
     
    int main(int argc, char **argv)
     {
           glutInit(&argc, argv); //Initialisation de glut
           glutInitWindowSize(400, 400); //Taille de la fenetre (en pixels)
           glutInitWindowPosition(50, 50); //Position de la fenetre (n pixels)
           glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE); //Type d'affficahge RGBA correspond au mode de couleur
           glutCreateWindow("kikoo glut" ) ; 
     };
    J'ai installé les headers et lib pour glu et glut (enfin je pense les avoir installé).
    Mais le fichier glu.h ne passe pas la compilation !

    voici les erreurs :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    In file included from simple.cpp:2:
    H:/Dev/CodeBlocks/include/GL/glut.h:50: error: redeclaration of C++ built-in type `short'
     
    In file included from H:/Dev/CodeBlocks/include/GL/glut.h:138,
                     from simple.cpp:2:
    H:/Dev/CodeBlocks/include/GL/glu.h:225: error: expected constructor, destructor, or type conversion before "void"
    H:/Dev/CodeBlocks/include/GL/glu.h:225: error: expected `,' or `;' before "void"
    H:/Dev/CodeBlocks/include/GL/glu.h:226: error: expected constructor, destructor, or type conversion before "void"
    H:/Dev/CodeBlocks/include/GL/glu.h:226: error: expected `,' or `;' before "void"
    (...)
    H:/Dev/CodeBlocks/include/GL/glu.h:229: error: `GLAPI' does not name a type
    H:/Dev/CodeBlocks/include/GL/glu.h:230: error: `GLAPI' does not name a type
    (...)
    En cherchant sur google, j'ai vu qu'on pouvait réoudre la première erreur en rajoutant #include <stdlib.h> au début du code.
    Pour le reste, je comprends pas vraiment, ca semble être un problème de configuration du compilo, mais je sais pas quoi faire.

    voici un extrait de glu.h (ligne 225)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb);
    GLAPI void APIENTRY gluBeginPolygon (GLUtesselator* tess);
    GLAPI void APIENTRY gluBeginSurface (GLUnurbs* nurb);
    GLAPI void APIENTRY gluBeginTrim (GLUnurbs* nurb);
    (...)
    Merci de votre aide.

    Allan

    Ps: je m'escuse si mon post n'est pas au bon endroit, j'ai hésité avec le forum ide.

  2. #2
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Le problème ne vient certainement pas du header, peux tu nous donner ton code en entier ? As tu bien spécifier dans les propriétés de compilation la library Glut pour la phase de linkage ? As tu bien téléchargé les header et la library adaptés au compilateur que tu utilises ?

  3. #3
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu as bien inclus <windows.h> avant ?

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Non je n'avais pas inclus windows.h, mais même en le faisant, le résultat est le même.

    Il n'y a dans la source que le code que j'ai donné, il devrait créer une simple fenêtre.

    j'ai téléchargé glsdk et glut, j'ai réparti les fichiers dans les rep include et lib de Code::Blocks. Je ne pense pas qu'ils soient "spécifiques". J'ai ensuite chargé le devpack de glut, apparament, c'est la même chose, mais à un autre endroit sur ma machine.

    voici les linker options:
    H:\Dev\CodeBlocks\lib\libglut.a
    H:\Dev\CodeBlocks\lib\libglut32.a
    H:\Dev\CodeBlocks\lib\libglu32.a

    -lglu32 -lglut32

    le complilo est mingw32-g++.exe
    et il n'y a aucun flag d'activé.

    J'utilise C::B 1.0 RC2 sous win xp sp2

    J'ai l'impression que c'est opengl qui ne veut pas de moi...

  5. #5
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    si tu met tout ton code en commentaire, juste la déclaration d'un main vide, il te fait une erreur aussi ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  6. #6
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    oui, il me donne les mêmes erreurs avec un main vide.

    Les erreur sont à la compilation du .h

    Qu'est ce que vous utilisez pour developper du opengl ?
    J'aimerais en tester un autre poru voir si ca vient de l'ide, du code, ou de ma machine.. ??!?

    Dev-cpp ?

    Peut être devrais-je passer sous linux, est-ce plus simple ?

  7. #7
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Personnellement je faisais de l'OpenGL sous Code::Blocks mais je n'utilisais pas Glut.
    Sinon Visual Studio .NET, mais je doute que sous Linux ce soit forcément plus simple !
    Essaye DevC++ on sait jamais, mais c'est quand meme bizarre cette histoire.

  8. #8
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Ce n'est pas glut mais glu qui semble posser problème.

    J'ai dl et installé devcpp et.. ça fonctionne !
    J'ai pu compiler et tester les quelques exemples opengl que j'ai trouvé sur le net.

    Donc je vais pouvoir exprimer toute ma créativité

    Domage, j'avais envie de faire confiance à Code::Blocks...

    A bientôt

  9. #9
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est dommage de s'arrêter à ça...

    Personnellement je n'ai aucun problème avec le template OpenGL de Code::Blocks.

    Au pire essaye d'installer une autre version de GLU / GLUT, peut-être celles que tu possèdes ne sont pas faites pour MinGW.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    Coucou, desolé de "résuciter" une vieille discussion, mais il se trouve que j'ai le même problème...

    J'essaye d'apprendre en ce moment à utiliser OpenGL avec SFML et j'ai donc voulu tester le code source du tutoriel d'interfaçage SFML/OpenGL sur le site de Laurent, seulement à la compilation j'ai la même erreur du glu.h qui ne passe pas...

    "error: expected constructor, destructor or type conversion before "void""
    il met ça pour toutes les lignes du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb);
    qui sont définies dans glu.h

    Quelqu'un sait-il comment résoudre ce problème ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    En fait, au bout d'une longue recherche le problème a déjà été traité sur le site de la SFML, la solution se trouve ici : http://sfml.sourceforge.net/forum-fr...ghlight=opengl pour tous ceux que ça intéresse, et concerne toute personne qui tente d'utiliser glu.h avec la gestion de fenêtre SFML d'après ce que j'ai compris.

Discussions similaires

  1. [SDL 2.0] Compilation projet SDL2 sous code blocks
    Par DSE76 dans le forum SDL
    Réponses: 2
    Dernier message: 13/12/2014, 15h14
  2. Réponses: 1
    Dernier message: 18/11/2012, 00h47
  3. Compiler un makefile sous Code::Blocks
    Par Amlys.p dans le forum C
    Réponses: 1
    Dernier message: 23/04/2012, 19h04
  4. Problème de compilation projet wxwidget sous Code::block
    Par Benoit_T dans le forum wxWidgets
    Réponses: 1
    Dernier message: 17/02/2011, 14h56
  5. Réponses: 5
    Dernier message: 09/04/2006, 19h02

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