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 :

OpenGL: problème pour incorporer des textures


Sujet :

OpenGL

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut OpenGL: problème pour incorporer des textures
    Bonjour tout le monde!

    je suis en train de travailler sur un tutorial pour incorporer des textures en OpenGL (il s'agit du célèbre tutorial de NEHE)

    Dans un premier temps, je voudrais pouvoir exécuter l'exemple qu'il propose. Mais j'ai des problèmes pour générer le solution... voici l'extrait de code qui pose problème, j'ai mis en rouge-gras la commande qui mène à l'erreur

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #include <windows.h> // En-tete pour Windows
    #include <stdio.h> // En-tete pour les entrees/sorties standards (NOUVEAU)
    #include <GL/GlAux.h>
    #include <GL/gl.h>
    #include<GL/glut.h>
    #include <stdlib.h>
    
    HDC hDC=NULL; // Contexte prive du systeme GDI
    HGLRC hRC=NULL; // Contexte de rendu permanent
    HWND hWnd=NULL; // Contient notre descripteur de fenêtre
    HINSTANCE hInstance; // Sauve l'instance de l'application
    
    bool keys[256]; // Tableau utiliser pour les routines du clavier
    bool active=TRUE; // Drapeau d'activation de la fenetre
    bool fullscreen=TRUE; // Drapeau pour le mode plein ecran
    
    GLfloat xrot; // Rotation en X (NOUVEAU)
    GLfloat yrot; // Rotation en Y (NOUVEAU)
    GLfloat zrot; // Rotation en Z (NOUVEAU)
    GLuint texture[1]; // Stockage d'une texture (NOUVEAU)
    
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration de WndProc
    
    // Charge une image bitmap
    AUX_RGBImageRec *LoadBMP(char *Filename) 
    {
    	// Descripteur de fichier
    	FILE *File=NULL;
    	// Verifie qu'un nom de fichier a ete donne
    	if (!Filename) 
    		{
    			// Si non, retourne NULL
    			return NULL; 
    		}
    
    	// Controle si le fichier existe
     	File=fopen(Filename,"r"); 
    
    	if (File) // Est-ce que le fichier existe ?
    		{
    			fclose(File); // Ferme le descripteur
    			return auxDIBImageLoad(Filename); // Ouvre le bitmap et renvoie un pointeur
    		}
    		
    	return NULL; // Retourne NULL si le chargement a echoue
    }
    int main()
    {
    	return 0;
    }

    En générant la solution sous visual C++ 2005, j'obtiens une série d'erreurs de type error LNK2019 et error LNK2001 ...

    Qu'ai je oublié?

    Merçi de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Il doit te manquer des librairies mais comme tu n'affiches pas les erreurs...

  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 : 40
    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
    Plus précisément, il te manque la bibliothèque GLAUX.

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Bonjour

    merçi pour vos réponses. En effet, le problème vient bien de GlAux...

    En réalité, j'ai bien incorporé dans mon projet la bibliothèque GlAux.lib.

    Dans mon projet sous Visual C++ 2005, j'ai fait propriétés->Editeur de liens ->Entrée->Dépendances supplémentaires-> OpenGL32.lib Glu32.lib GlAux.lib glut32.lib

    Poutant, cela ne suffit pas puisque le problème vient bien de GlAux
    voici les erreurs affichées (je les ai pas toutes mises car il y en a bcp!!! )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GlAux.lib(tkimage.obj) : error LNK2019: symbole externe non résolu __imp__MessageBoxA@16 référencé dans la fonction _RawImageGetData@8
    GlAux.lib(tkdib.obj) : error LNK2001: symbole externe non résolu __imp__MessageBoxA@16
    GlAux.lib(tk.obj) : error LNK2001: symbole externe non résolu __imp__MessageBoxA@16
    GlAux.lib(tkimage.obj) : error LNK2019: symbole externe non résolu __imp__GetFocus@0 référencé dans la fonction _RawImageGetData@8
    GlAux.lib(tkdib.obj) : error LNK2001: symbole externe non résolu __imp__GetFocus@0
    GlAux.lib(tk.obj) : error LNK2001: symbole externe non résolu __imp__GetFocus@0
    GlAux.lib(tkimage.obj) : error LNK2019: symbole externe non résolu __imp__wsprintfA référencé dans la fonction _RawImageOpenAW@8
    GlAux.lib(tkdib.obj) : error LNK2001: symbole externe non résolu __imp__wsprintfA
    GlAux.lib(tkdib.obj) : error LNK2019: symbole externe non résolu __imp__DeleteObject@4 référencé dans la fonction _tkDIBImageLoadAW@8
    GlAux.lib(tk.obj) : error LNK2001: symbole externe non résolu __imp__DeleteObject@4  
    ......................
    Que faut -il faire pour que ça marche ?
    Merçi pour votre aide

  5. #5
    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 : 40
    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
    Installer le Platform SDK, et lier avec kernel32.lib, user32.lib, etc... (voir MSDN).

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut Résolution du problème
    Bonjour

    désolée de répondre si tard mais je n'ai réussi que trés récemment ( et grâce à vos suggestions et à d'autres discussions du FORUM) à résoudre mon problème.

    Sous Visual C++ 2005, pour utiliser les fonctions de Glaux et ne pas avoir de problème à l'édition des liens, il faut :
    1) comme l'a indiqué Laurent, lier le projet à la plate-forme SDK (dans propriété/éditeur de liens/Général/ répertoire de bibliothèque supplémentaire)

    2) Il faut également spécifier les dépendances supplémentaires au projet (dans propriété/Editeur de liens/ Entrée/ Dépendances supplémentaires) en ajoutant :
    OpenGL32.lib
    GlU32.lib
    GlAux.lib
    glut32.lib
    Gdi32.lib
    AdvAPI32.lib

    User32.lib

    Personnellement, il me manquait Gdi32 et AdvAPI32! avec ça, ça marche beaucoup mieux

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

Discussions similaires

  1. Quelle API pour importer des textures dans OpenGL
    Par sphynxounet dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/01/2010, 16h57
  2. [win] problème pour partager des fichiers entre 2 pc
    Par goma771 dans le forum Administration
    Réponses: 1
    Dernier message: 01/12/2005, 16h15
  3. [XML word] problème pour créer des puces
    Par ratapapa dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/07/2005, 13h52
  4. Problème pour Télécharger des fichiers
    Par joce3000 dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/01/2005, 10h30
  5. problème pour faire des blocs
    Par tinkye_winkye dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 04/01/2005, 14h13

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