Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1210 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme de LINK de Glaux.h pour charger des textures sous VC6.0

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de LINK de Glaux.h pour charger des textures sous VC6.0

n°686813
PETOZAK
Posté le 29-03-2004 à 19:32:51  profilanswer
 

Salut voila,
je voudrais loader des textures, jài donc recuperer les lignes code relatives de NeHe qui sont:

Code :
  1. int CObjetGL::LoadGLTextures()         // Load Bitmaps And Convert To Textures
  2. {
  3. int Status=FALSE;         // Status Indicator
  4. GLuint texture[1];
  5. AUX_RGBImageRec *TextureImage[1];     // Create Storage Space For The Texture
  6. memset(TextureImage,0,sizeof(void *)*1);            // Set The Pointer To NULL
  7. // Load The Bitmap, Check For Errors, If Bitmap's Not Found Quit
  8. if (TextureImage[0]=LoadBMP("Data/NeHe.bmp" ))
  9. {
  10.  Status=TRUE;         // Set The Status To TRUE
  11.  glGenTextures(1, &texture[0]);     // Create The Texture
  12.  // Typical Texture Generation Using Data From The Bitmap
  13.  glBindTexture(GL_TEXTURE_2D, texture[0]);
  14.  glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
  15.  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  16.  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  17. }
  18. if (TextureImage[0])         // If Texture Exists
  19. {
  20.  if (TextureImage[0]->data)       // If Texture Image Exists
  21.  {
  22.   free(TextureImage[0]->data);     // Free The Texture Image Memory
  23.  }
  24.  free(TextureImage[0]);        // Free The Image Structure
  25. }
  26. return Status;          // Return The Status
  27. }
  28. AUX_RGBImageRec * CObjetGL::LoadBMP(char *Filename)     // Loads A Bitmap Image
  29. {
  30. FILE *File=NULL;       // File Handle
  31. if (!Filename)        // Make Sure A Filename Was Given
  32. {
  33.  return NULL;       // If Not Return NULL
  34. }
  35. File=fopen(Filename,"r" );      // Check To See If The File Exists
  36. if (File)        // Does The File Exist?
  37. {
  38.  fclose(File);       // Close The Handle
  39.  return auxDIBImageLoad(Filename);    // Load The Bitmap And Return A Pointer
  40. }
  41. return NULL;        // If Load Failed Return NULL
  42. }


 
Le prob c'est que j'ai cette erreur a la compilation (ou plutot au moment du link):
 
Linking...
ObjetGL.obj : error LNK2001: unresolved external symbol _auxDIBImageLoadA@4
debug/tp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
 
 
Vous avez une idee comment faire pour arranger ca?
J'ai compile la lesson 06 de Nehe et ca marche c'est comme meme curieux,non?


Message édité par PETOZAK le 29-03-2004 à 19:34:06
mood
Publicité
Posté le 29-03-2004 à 19:32:51  profilanswer
 

n°686885
Joel F
Real men use unique_ptr
Posté le 29-03-2004 à 22:29:00  profilanswer
 

et t'as pensé a ajouter opengl32.lib dasn les options d eprojets [:dawa]

n°686893
PETOZAK
Posté le 29-03-2004 à 22:36:39  profilanswer
 

:) bien sur sinon je ne pourrais rien faire!
La preuve quande je met le code de dessus ca compile!

n°686895
schnapsman​n
Zaford Beeblefect
Posté le 29-03-2004 à 22:38:45  profilanswer
 

PETOZAK a écrit :

:) bien sur sinon je ne pourrais rien faire!
La preuve quande je met le code de dessus ca compile!


 
la lib précompilée, pas les fichiers includes petit padawan


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°686897
pascal_
Posté le 29-03-2004 à 22:40:22  profilanswer
 

il faut ajouter glaux32.lib (ou glaux.lib je sais plus) dans les options de projet (ou il faut aussi opengl32.lib par ailleurs)

n°686899
PETOZAK
Posté le 29-03-2004 à 22:43:46  profilanswer
 

au fait y a un mot qui manque:
La preuve quande je met le code de dessus en commentaire ca compile!

n°686901
pascal_
Posté le 29-03-2004 à 22:45:36  profilanswer
 

PETOZAK a écrit :

au fait y a un mot qui manque:
La preuve quande je met le code de dessus en commentaire ca compile!  


 
Ben c'est normal, tu n'appelles qu'une fonction de la librairie aux...
 
sinon, évite de faire 50 postes pour la meme chose http://forum.hardware.fr/hardwaref [...] 8717-1.htm
 

n°686902
PETOZAK
Posté le 29-03-2004 à 22:45:42  profilanswer
 

au fait comme je vous ai dit quand je prend la Lesson 6 de NeHe ca marche et je n'ai pas a ajouter des libs supplementaires.
Or comme dans mon cas mon projo et Lesson06 sont sur le meme environnment (lib,.h etc), ils devraient se compiler sans prob?

n°686905
PETOZAK
Posté le 29-03-2004 à 22:47:59  profilanswer
 

non ce n'est pas le meme post:
Le premier c'etait pour un probleme particulier.
Celui la c'est pour un cas plus general puisque un pote m a dit qu'il etait possible de desactiver des options VC++ 6.0 pour ce qui est des LINK.
Et si c'est pour attirer les moderateurs c'est franchment puant pascal.


Message édité par PETOZAK le 29-03-2004 à 22:50:14
n°686910
PETOZAK
Posté le 29-03-2004 à 22:53:25  profilanswer
 

Sinnon vous ne connaissez pas un autre loader de BMP autre que auxDIBImageLoad parce que c'est la seul ligne qui bloque le LINK?

mood
Publicité
Posté le 29-03-2004 à 22:53:25  profilanswer
 

n°686911
pascal_
Posté le 29-03-2004 à 22:53:26  profilanswer
 

PETOZAK a écrit :

non ce n'est pas le meme post:
Le premier c'etait pour un probleme particulier.
Celui la c'est pour un cas plus general puisque un pote m a dit qu'il etait possible de desactiver des options VC++ 6.0.
Et si c'est pour attirer les moderateurs c'est franchment puyant pascal.


 
:heink: faut arrêter la moquette
 
Je te signale que les deux messages d'erreur que tu files sur tes 2 topic sont exactement les mêmes.
 
Sinon, pour les modérateurs, il y a un bouton "prévenir les modérateurs", je me serais pas embété à te répondre :jap:  
 

n°686913
pascal_
Posté le 29-03-2004 à 22:56:10  profilanswer
 

PETOZAK a écrit :

Sinnon vous ne connaissez pas un autre loader de BMP autre que auxDIBImageLoad parce que c'est la seul ligne qui bloque le LINK?


 
Tu fais comme je t'ai dit, tu rajoutes glaux32.lib dans les options du projet et ça link tranquillement...


Message édité par pascal_ le 29-03-2004 à 22:56:25
n°686917
PETOZAK
Posté le 29-03-2004 à 23:03:56  profilanswer
 

pascal, c'est sympas de vouloir m'aider mais tu n'a pas l'air d'avoir compris que ca compilait pour Nehe mais pas pour mon truc pourtant j'ai fait du copier coller des inclusions et du code!  

n°686921
PETOZAK
Posté le 29-03-2004 à 23:04:47  profilanswer
 

au fait j'ai juste glaux.lib moi et pas glaux32.lib?

n°686924
pascal_
Posté le 29-03-2004 à 23:06:40  profilanswer
 

pascal_ a écrit :

il faut ajouter glaux32.lib (ou glaux.lib je sais plus) dans les options de projet (ou il faut aussi opengl32.lib par ailleurs)
 


 
c'est déjà écrit

n°686935
pascal_
Posté le 29-03-2004 à 23:15:29  profilanswer
 

PETOZAK a écrit :

pascal, c'est sympas de vouloir m'aider mais tu n'a pas l'air d'avoir compris que ca compilait pour Nehe mais pas pour mon truc pourtant j'ai fait du copier coller des inclusions et du code!  


 
c'est sûrement parceque le projet Nehe est déjà configuré avec glaux.lib, mais pas quand tu démarres un nouveau projet vide (il faut le rajouter à la main).
 

n°686941
PETOZAK
Posté le 29-03-2004 à 23:18:34  profilanswer
 

je pense que VC++ lorsque l'on load un projo il utilise pour tous les projets les libs et include definis dans les options.
Donc, c'est vraiment fou parce que j'ai relu le code de la lesson 06 en entier et pourtant je pense avoir tout recuperer a savoir:

Code :
  1. #include <gl\gl.h>   // Header File For The OpenGL32 Library
  2. #include <gl\glu.h>   // Header File For The GLu32 Library
  3. #include <gl\glaux.h>  // Header File For The Glaux Library


 
+ les lignes codes citees en haut.
C'est vraiment du foutage de gueule ce VC 6.0!

n°686944
PETOZAK
Posté le 29-03-2004 à 23:23:17  profilanswer
 

sinon c'est pas grave de les declarer comme membre d'une classe?
Y a pas contrainte genre static ? const? ... sur auxDIBImageLoad?
 
int CObjetGL::LoadGLTextures()
AUX_RGBImageRec * CObjetGL::LoadBMP(char *Filename)      


Message édité par PETOZAK le 29-03-2004 à 23:30:24
n°686948
PETOZAK
Posté le 29-03-2004 à 23:29:16  profilanswer
 

Je suis sur ca ne peut pas venir de moi,j'ai demande a 36 personnes et on m'a dit que les inclusions etaient bonne et que ca doit etre une fausse option de VC++.
Sinon pas d'alternative a auxDIBImageLoad, je pense que je n'ai plus le choix?

n°686949
schnapsman​n
Zaford Beeblefect
Posté le 29-03-2004 à 23:30:29  profilanswer
 

PETOZAK a écrit :


+ les lignes codes citees en haut.
C'est vraiment du foutage de gueule ce VC 6.0
sinon c'est pas grave de les declarer comme membre d'une classe?
Y a pas contrainte genre static ? const? ... sur auxDIBImageLoad?


 
déjà veux mieux patcher en VC6.5 c'est mieux  :o  
 
deuxio rajoute la lib glaux.lib dans la liste des libs à linker (alt-F7, input...)


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°686954
PETOZAK
Posté le 29-03-2004 à 23:33:26  profilanswer
 

merci schnapsmann je faisais mais LINK sur tools/option/directories.
Tu es vraiment trop fort je t'adore!!!!

n°686957
schnapsman​n
Zaford Beeblefect
Posté le 29-03-2004 à 23:34:42  profilanswer
 

PETOZAK a écrit :

merci schnapsmann je faisais mais LINK sur tools/option/directories.
Tu es vraiment trop fort je t'adore!!!!


 
non, c'est surtout toi qui est nul  :whistle:


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°686962
PETOZAK
Posté le 29-03-2004 à 23:46:01  profilanswer
 

pourquoi?
Moi,j'ai toujours bosser sur des IDE serieux ou on fait les LINK une fois...
Je vois vraiment pas la difference entre :
tools/option/directories et
alt-F7, input.
Et puis c'est un peu moyen de traiter des gens de nuls sans savoir ce qu'ils programment simplement parce qu'ils ignorent les defauts de VC++ 6.0.
Mais bon merci quand meme malgre cet EGO mal place et injustifie ;)

n°686967
schnapsman​n
Zaford Beeblefect
Posté le 29-03-2004 à 23:52:16  profilanswer
 

PETOZAK a écrit :

pourquoi?
Moi,j'ai toujours bosser sur des IDE serieux ou on fait les LINK une fois...
Je vois vraiment pas la difference entre :
tools/option/directories et
alt-F7, input.
Et puis c'est un peu moyen de traiter des gens de nuls sans savoir ce qu'ils programment simplement parce qu'ils ignorent les defauts de VC++ 6.0.
Mais bon merci quand meme malgre cet EGO mal place et injustifie ;)


 
Nan mais n'importe quoi. Merci à pascal que tu aura bien fait chier, alors qu'il t'as donné la soultion 36000² fois. Il y avait de quoi s'arracher les cheveux et se pendre avec en se les coinçant dans la fenêtre.
 
Salut l'artiste  [:ohello]


Message édité par schnapsmann le 29-03-2004 à 23:53:05

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°686968
PETOZAK
Posté le 29-03-2004 à 23:57:16  profilanswer
 

C'est vrai merci a Pascal qui conviendra que c'etait plus un quiproquo entre les 2 maniere de  LINKER sous VC++ :0

n°687121
blackgodde​ss
vive le troll !
Posté le 30-03-2004 à 10:46:11  profilanswer
 

PETOZAK a écrit :

Je vois vraiment pas la difference entre :
tools/option/directories et
alt-F7, input.


 
dans le 1er tu indiques le dossier ou il va chercher les .lib, dans le 2eme tu indiques les libs que tu veux lier a ton projet.


---------------
-( BlackGoddess )-
n°687558
yawen
Posté le 30-03-2004 à 16:48:01  profilanswer
 

plutot que de mettre à la main les .lib à utiliser, tu peux aussi mettre
#pragma comment(lib,"..." )
où ... est le nom du lib (par exemple glaux.lib)


---------------
~~ Yawen ~~
n°687741
PETOZAK
Posté le 30-03-2004 à 19:03:39  profilanswer
 

Merci les gars j´avais des pragma dans le modele objet et je ne savais pas ce que c t ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme de LINK de Glaux.h pour charger des textures sous VC6.0

 

Sujets relatifs
Probleme d'execution de la commande Unix echo via le perlprobleme de passage de fonction en parametres
Problème de lib PNG (PHP 4.3.3)Problème de positionnement [maj : solutions à deux problèmes]
[PHP] Probleme avec les sessionsProblème de ClassLoader
Petit probleme de div :/probleme de tableau et de font
probleme avec pointeur sur objet[C] Problème pour obtenir l'@ IP
Plus de sujets relatifs à : Probleme de LINK de Glaux.h pour charger des textures sous VC6.0


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR