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

Qt Discussion :

Problème de compilation avec OpenGL


Sujet :

Qt

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut Problème de compilation avec OpenGL
    Bonjour,

    Je viens vers vous car j'ai un petit problème avec le tutoriel d'integration d'openGL à Qt. Pour tout vous dire je suis débutant en openGL. J'ai lu le début du tutoriel de NEHE et je cherche à ouvrir une simple fenêtre Qt avec des formes élémentaires comme dans le début du tutoriel sur l'intégration à Qt.

    J'ai crée mes .h et mes .cpp mais quand je cherche à compiler on me dit en gros que toutes les fonctions relatives à openGl ne sont pas déclarées =/.

    par exemple première ligne d’erreur : 'GL_SMOOTH' was not declared in this scope.

    Avez vous une idée ?

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    En ajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <gl\gl.h>
    #include <gl\glu.h>
    #include <gl\glaux.h>
    Il semble que Qt Creator reconnaisse ces fonctions mais maintenant il me retourne comme erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : conflicting declaration 'typedef double GLdouble'
    et cette "déclaration conflictuelle" se trouve dans #include <gl\gl.h> . Je suis un peu perdu la

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    Continuant à faire des recherches sur internet, je me rend compte qu'il y a de nombreuse discussions autour du couplage entre Qt et openGL, je veux donc vous dire que j'en ai parcourue une bonne partie et que si je vous demande ce n'est pas par fainéantise, pour m'éviter des recherches, mais bien car je ne vois vraiment pas comment faire.

    Je tiens aussi à préciser que j'ai bien pensé à ajouter dans le .pro :


  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    A priori, j'aurais tendance à dire que tu ne dois pas inclure GL/*, mais que tu dois "simplement" utiliser les QGlWidget et classes associées.

    Il n'est "pas impossible" que les gardes anti inclusions et / ou les définitions conditionnelles soient différents d'une version à l'autre de OpenGl.

    Le résultat est sans appel : si, du fait des inclusions en cascades, tu te retrouve avec plusieurs fichiers dans lesquels un même symbole préprocesseur est défini, le compilateur s'en rendra compte bien avant toi et t'enverra sur les roses
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    J'ai essayé sans les GL\ mais dans ce cas, Qt ne sait pas ou se trouve le gl.h

    Je suis désolé j'ai conscience que mon problème est ... vague !

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    C'est quand même bizarre, si je copie/colle exactement l'exemple du tutoriel (Intégration d'OpenGL dans une interface Qt) (et sans rien faire d'autre) ça ne marche pas, personne n'a eu le même problème ?

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Je trouve que "cela ne marche pas" est le meilleur rapport de bogue de la décennie. De quel tutoriel parlez vous ? Quelle version de Qt utilisez vous ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    Je parle du tutoriel : Intégration d'OpenGL dans une interface Qt

    lien : http://fhalgand.developpez.com/tutor...e-application/

    Et pour les erreurs :

    elle sont toutes du genre '...' was not declared in this scope.

    exemple : 'GL_SMOOTH' was not declared in this scope.

    et ne concerne que des fonctions liées à openGL.

    Ces erreurs surviennent lorsque je ne change rien du tout à ce qui est dis dans le tutoriel.

    Dans le cas ou j'ajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <gl\gl.h>
    #include <gl\glu.h>
    #include <gl\glaux.h>
    Qt semble connaitre ces fonctions mais il y a une autre erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : conflicting declaration 'typedef double GLdouble'
    qui est interne à :

    et sinon je suis sur Qt 5.0.2

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Déjà, le fait de lire un tutoriel Qt 4.X et d'utiliser Qt 5.X peut amener à quelques problèmes. En effet, les choses ont bougé, notamment dans le support d'OpenGL. Je vous conseille de regarder cette présentation :


    Dans la doc, on trouvera aussi :
    Qt OpenGL Module
    The Qt OpenGL Module is primarily provided for compatibility with Qt 4. The essential Qt Gui Module provides a set of OpenGL classes which cover most use cases where you want to mix Qt- and OpenGL-based code.
    (Donc, c'est tout de même très déjà intégré).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    Merci ça m'a pas mal éclairé

    J'ai vu du coup qu'il est conseillé de rester sur Qt4 pour utiliser openGL et en plus il y a pas mal de documentation.

    Par contre je n'arrive pas à installer Qt4, pour l'installation de Qt5 tout était compris dans l’exécutable (Librairies, Qt Creator etc) il n'y avait qu'à installer ! Mais pour la version 4 tout est séparer et je ne sais pas vraiment comment faire savez vous comment faire ?

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Simplement en prenant les binaires ici : http://qt-project.org/downloads#qt-lib et en récupérant soit avec mingw, soit pour VS. Normalement tout est ok de base.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 683
    Points
    683
    Par défaut
    Et pour être sûr, tu as été voir du côté des Tutos/Exemples de Qt ?!
    http://qt-project.org/doc/qt-5.0/qto...ts-opengl.html
    Et plus particulièrement le "Hello World" : http://qt-project.org/doc/qt-5.0/qtopengl/hellogl.html

  13. #13
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par kipgon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : conflicting declaration 'typedef double GLdouble'
    et cette "déclaration conflictuelle" se trouve dans #include <gl\gl.h> . Je suis un peu perdu la
    Au passage j'ai eu la même erreur en tentant de compiler Qt 5.0.2 msvc2010 statiquement et je n'ai pas réussi.

  14. #14
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Autant, il y a quelques jours, je t'aurais conseillé de rester sur Qt 4 pour utiliser OpenGL, autant maintenant, je te conseille d'utiliser Qt 5.1 beta qui vient de sortir. Tu télécharges simplement les binaires http://download.qt-project.org/devel...1/5.1.0-beta1/ (version OpenGL, pas ANGLE), tu installes, et c'est bon. Qt 5.1 gère maintenant toutes les versions d'OpenGL, même les plus récentes (mais il faut que les drivers graphiques soient à jour)

    Je suis entrain de préparer un article de blog là dessus

    Je te conseilles également la lecture de La 3D avec le module OpenGL de Qt. C'est écrit pour Qt 4 (je ferais la mise à jour pour Qt 5 quand j'aurais le temps)

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    Je vous remercie infiniment pour toute vos réponses

    Je regarde tout cela et je vous fais part de mon avancement.

    Encore merci

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 113
    Points : 50
    Points
    50
    Par défaut
    Un grand, grand, grand merci à toi gbdivers , j'ai installer la version de Qt5.1 que tu m'as donné en lien et j'arrive désormais à compiler .

    J'ajouterais pour ceux qui aurait le même problème et qui suivraient le tutoriel d'intégration d'openGL à Qt du forum qu'il faut tout de même ajouter la ligne

    Encore un grand merci à toute la communauté de developpez.com pour tout le temps et l'investissement qui m'a été accordé

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

Discussions similaires

  1. Problème de compilation avec Borland : Direct Draw
    Par Burckel dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 18h17
  2. Problème de compilation avec Direct Input
    Par di-giac dans le forum DirectX
    Réponses: 6
    Dernier message: 06/05/2005, 18h19
  3. [MFC] Problème de compilation avec afxctl.h
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 15/06/2004, 13h51
  4. Problème de compilation avec Dev-C++
    Par Rouliann dans le forum Dev-C++
    Réponses: 14
    Dernier message: 14/06/2004, 18h44
  5. Réponses: 1
    Dernier message: 29/10/2003, 12h16

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