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

Langage C++ Discussion :

Problème avec GLEW


Sujet :

Langage C++

  1. #1
    Débutant  
    Inscrit en
    Novembre 2008
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 357
    Points : 87
    Points
    87
    Par défaut Problème avec GLEW
    Bonjour,

    Je programme avec visual studio 2008 et OpenGL depuis quelques années, j'ai commencé à utiliser la bibliothèque GLEW, pour cela j'ai téléchargé la version 1.5.6 qui est compatible avec ma version d'OpenGL (4.1), j'ai met tous les fichiers (.h, .lib, .dll) dans les emplacements nécessaires.

    j'ai téléchargé un petit code qui utilise la bibliothèque GLEW pour juste la tester, la compilation marche et l'exécution marche bien aussi.

    Mon problème est lorsque j'ai fait un petit changement dans le code (par exemple j'ai renommé la fenêtre Glut) des erreurs links sont apparues:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewGetInfoLogARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewGetObjectParameterivARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewUseProgramObjectARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgramARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewAttachObjectARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgramObjectARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewCompileShaderARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewShaderSourceARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____glewCreateShaderObjectARB
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____GLEW_ARB_fragment_shader
    1>ogl3.obj : error LNK2001: unresolved external symbol __imp____GLEW_ARB_vertex_shader
    1>ogl3.obj : error LNK2019: unresolved external symbol __imp__glewInit referenced in function _main
    1>.\Debug/glutglsl.exe : fatal error LNK1120: 12 unresolved externals
    Comment je peux résoudre ce problème?

    Merci.

  2. #2
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    Sous windows il me semble qu'il faut directement integrer glew.c dans ton projet (donc se passer des libs). J'ai jamais reussi a le faire fonctionner autremement (alors que sous linux, 0 probleme...).

  3. #3
    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
    Bonjour,

    es-tu certain d'avoir correctement linké le .lib ?
    Que le .lib est compatible avec ta version de Visual Studio ?

    Sous VS, j'ai toujours créé un projet Glew que je compile et link directement à mon appli, aucun problème à déclarer.
    Y'a un simple .c et .h, c'est plutôt rapide et simple.
    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.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    J'ai vu la réponse aujourd'hui. De mémoire, pour ce cas là, il faut définir (au sein des options du compilateur) GLEW_STATIC, car vous utilisez la bibliothèque statique, alors que vous tentez de l'utiliser en dynamique
    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.

  5. #5
    Débutant  
    Inscrit en
    Novembre 2008
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 357
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Merci pour vos réponses

    LittleWhite, j'ai met dans le fichier .h et avant la déclaration de bibliothèque glew.h, la définition: #define GLEW_STATIC

    Dans ce cas là, le programme marche bien, mais lorsque j'ai fait une modification, voici les messages d'erreurs dans le fichier wglew.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\gl\wglew.h(1409) : error C2146: syntax error : missing ';' before identifier 'wglewIsSupported'
    1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\gl\wglew.h(1409) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\gl\wglew.h(1413) : error C2146: syntax error : missing ';' before identifier 'wglewGetExtension'
    1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\gl\wglew.h(1413) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    Est ce qu'il manque un fichier .lib?

    Merci.

  6. #6
    Débutant  
    Inscrit en
    Novembre 2008
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 357
    Points : 87
    Points
    87
    Par défaut
    Le problème est résolu, j'ai linké glew32s.lib au lieu de glew32.lib

    Merci pour votre aide.

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

Discussions similaires

  1. Problème avec glew et code::blocks
    Par f56bre dans le forum OpenGL
    Réponses: 14
    Dernier message: 26/10/2017, 11h46
  2. [2D/3D] Problème d'édition des liens avec glew
    Par Nigloo dans le forum Qt
    Réponses: 1
    Dernier message: 18/08/2012, 10h03
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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