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

Probleme de LINK de Glaux.h pour charger des textures sous VC6.0 - C++ - Programmation

Marsh Posté le 29-03-2004 à 19:32:51    

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
Reply

Marsh Posté le 29-03-2004 à 19:32:51   

Reply

Marsh Posté le 29-03-2004 à 22:29:00    

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

Reply

Marsh Posté le 29-03-2004 à 22:36:39    

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

Reply

Marsh Posté le 29-03-2004 à 22:38:45    

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!"
Reply

Marsh Posté le 29-03-2004 à 22:40:22    

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

Reply

Marsh Posté le 29-03-2004 à 22:43:46    

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

Reply

Marsh Posté le 29-03-2004 à 22:45:36    

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
 

Reply

Marsh Posté le 29-03-2004 à 22:45:42    

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?

Reply

Marsh Posté le 29-03-2004 à 22:47:59    

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
Reply

Marsh Posté le 29-03-2004 à 22:53:25    

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

Reply

Marsh Posté le 29-03-2004 à 22:53:25   

Reply

Marsh Posté le 29-03-2004 à 22:53:26    

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:  
 

Reply

Marsh Posté le 29-03-2004 à 22:56:10    

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
Reply

Marsh Posté le 29-03-2004 à 23:03:56    

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!  

Reply

Marsh Posté le 29-03-2004 à 23:04:47    

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

Reply

Marsh Posté le 29-03-2004 à 23:06:40    

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

Reply

Marsh Posté le 29-03-2004 à 23:15:29    

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).
 

Reply

Marsh Posté le 29-03-2004 à 23:18:34    

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!

Reply

Marsh Posté le 29-03-2004 à 23:23:17    

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
Reply

Marsh Posté le 29-03-2004 à 23:29:16    

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?

Reply

Marsh Posté le 29-03-2004 à 23:30:29    

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!"
Reply

Marsh Posté le 29-03-2004 à 23:33:26    

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

Reply

Marsh Posté le 29-03-2004 à 23:34:42    

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!"
Reply

Marsh Posté le 29-03-2004 à 23:46:01    

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 ;)

Reply

Marsh Posté le 29-03-2004 à 23:52:16    

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!"
Reply

Marsh Posté le 29-03-2004 à 23:57:16    

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

Reply

Marsh Posté le 30-03-2004 à 10:46:11    

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 )-
Reply

Marsh Posté le 30-03-2004 à 16:48:01    

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 ~~
Reply

Marsh Posté le 30-03-2004 à 19:03:39    

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

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed