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 :

Compilation linux: implicit declaration of function ‘glGenBuffers’


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut Compilation linux: implicit declaration of function ‘glGenBuffers’
    Bonjour,

    Je viens d'acquérir le red-book en français. Tout en lisant les passionnants chapitres, je code quelques exemples.

    Jusqu'au vertex array tout aller pour le mieux, mais je suis passé au VBO, et là je n'arrive pas à compiler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    main.c:105: warning: implicit declaration of function ‘glGenBuffers’
    main.c:107: warning: implicit declaration of function ‘glBindBuffer’
    main.c:108: warning: implicit declaration of function ‘glBufferData’
    main.c:108: error: ‘STATIC_DRAW’ undeclared (first use in this function)
    Mes lignes d'inclusion sont:
    #include <GL/glut.h>

    J'ai essayé aussi d'inclure le glext.h par défaut, puis le glext téléchargeable sur opengl.org, mais sans succès.

    J'ai peu être une petite idée d'ou le problème viendrait:
    dans mon gl.h j'ai: ** Copyright 1998-2002, NVIDIA Corporation....
    Si ce fichier date réellement de 2002 y'a peut être un problème

    ps: je suis sous ubuntu avec les pilotes nvidia 97.46 installés manuellement.

  2. #2
    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
    Ta version statique d'OpenGL doit être inférieure à 1.5, il faut donc que tu accèdes à tout ça sous forme d'extension (donc en gros, en rajoutant ARB derrière chaque identifiant et en chargeant les fonctions explicitement -- ou en utilisant glew).

  3. #3
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Qu'est ce qu'est la version statique?
    Parceque sinon la version d'opengl c'est la 2.1.0 NVIDIA 97.46...

    C'est déjà moins pratique d'accéder au fonction de cette manière .

  4. #4
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Ha je vois qu'une nouvelle version des pilotes nvidia vient de sortir, voyons le changement.

  5. #5
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Pas de changement, et a priori je ne peux pas utiliser les fonctions d'opengl 1.2 non plus comme:
    glDrawRangeElements().

    Donc ma version statique serait 1.1, c'est bizarre non?

  6. #6
    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
    Ce que j'appelle version statique, c'est la bibliothèque livrée avec le compilo / OS. Sous Windows par exemple c'est la version 1.1 d'OpenGL qui est livrée.

    Par contre la version de la DLL fournie par les drivers de la carte graphique est à jour, mais il faudra accéder aux fonctionnalités supplémentaires dynamiquement via le mécanisme des extensions (vu que ces fonctions sont inconnues des .h / .a livrés avec le compilo).

    En gros c'est comme ça que ça marche.

  7. #7
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Ok, mais pourtant, elles sont définies dans glext.h non?

  8. #8
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Citation Envoyé par Laurent Gomila
    Sous Windows par exemple c'est la version 1.1 d'OpenGL qui est livrée.
    Ca veut dire que si je veux faire quelquechose de portable, j'ai intérêt à utiliser le mécanisme des extensions?

    C'est bizarre que dans le red-book, l'auteur fait comme si ces fonctions étaient incluse dans la version statique d'OpenGL par défaut...

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

Discussions similaires

  1. [gcc/warning] implicit declaration of function ‘close’
    Par TabrisLeFol dans le forum Réseau
    Réponses: 4
    Dernier message: 09/01/2007, 20h48
  2. Réponses: 3
    Dernier message: 18/10/2006, 20h42
  3. implicit declaration of function!
    Par moon93 dans le forum C
    Réponses: 48
    Dernier message: 16/06/2006, 14h55
  4. implicit declaration of function
    Par guillaume_pfr dans le forum C
    Réponses: 7
    Dernier message: 12/06/2003, 10h59
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37

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