Textur laden läuft nicht



  • Moin,
    ich habe versucht den Code von Nehe in mein Programm zu bekommen. Nur bekomme ich beim Linken immer folgende Meldung:

    main.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_auxDIBImageLoadA@4".
    fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

    #include <stdlib.h>
    #include <stdio.h>
    #include <windows.h>
    #include <stdio.h> 
    #include <gl\gl.h>
    #include <gl\glu.h>
    #include <gl\glaux.h>
    #include "glut.h"
    #include <iostream>
    #include <string>
    #include <list>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    GLuint win;
    
    GLfloat xrot;
    GLfloat yrot; 
    GLfloat zrot; 
    
    GLuint texture[1]; 
    
    bool fullscreen = false;
    
    void rendern()
    {
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
    	glPushMatrix();
    	glLoadIdentity();						
    	glTranslatef(0.3f,0.0f,1.0f); 
    	glRotatef(xrot,1.0f,0.0f,0.0f); 
    	glRotatef(yrot,0.0f,1.0f,0.0f); 
    	glRotatef(zrot,0.0f,0.0f,1.0f); 
    	glBindTexture(GL_TEXTURE_2D, texture[0]);
    	glBegin(GL_QUADS); 
    		glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); 
    		glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); 
    
    		glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f); 
    		glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); 
    		glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); 
    		glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
    
    		glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f);
    		glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, 1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, 1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); 
    
    		glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f); 
    		glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f); 
    		glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); 
    
    		glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f); 
    		glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, -1.0f); 
    		glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); 
    		glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f);
    
    		glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);
    		glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); 
    		glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); 
    		glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, -1.0f); 
    	glEnd();
    	glPopMatrix();
    	glutSwapBuffers();
    	glutPostRedisplay();
    	xrot+=0.3f; 
    	yrot+=0.2f;   
    	zrot+=0.4f;
    }
    
    AUX_RGBImageRec *LoadBMP(char *Filename) 
    { 
    	FILE *File=NULL; 
    
    	if (!Filename) 
    	{ 
    		return NULL;   
    	}
    
    	File=fopen(Filename,"r");
    
    	if (File) 
    	{ 
    		fclose(File); 
    		return auxDIBImageLoad(Filename); 
    	}
    
    	return NULL; 
    }
    
    int LoadGLTextures() 
    {
    	int Status;
    
    	AUX_RGBImageRec *TextureImage[1];
    
    	memset(TextureImage,0,sizeof(void *)*1);
    
    	if (TextureImage[0]=LoadBMP("Data/NeHe.bmp")) 
    	{ 
    		Status=TRUE;
    
    		glGenTextures(1, &texture[0]); 
    		glBindTexture(GL_TEXTURE_2D, texture[0]);
    
    		glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
    
    		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 
    		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); 
    	}
    
    	if (TextureImage[0]) 
    	{ 
    		if (TextureImage[0]->data) 
    		{ 
    			free(TextureImage[0]->data); 
    		} 
    		free(TextureImage[0]); 
    	}
    
    	return Status; 
    }
    
    void keyboard(unsigned char key, int, int)	
    { 
    	switch(key)
    	{
        case 'f': case 'F':
        	fullscreen = !fullscreen;
    		if (fullscreen)
    		{
    			glutFullScreen();
    		}
    		else
    		{
    			glutReshapeWindow(800, 600);
    			glutPositionWindow(100, 100);
    		}
    		break;
    	case 'q': case 'Q': case 27:
    		glutDestroyWindow(win);
    		exit(0);
    		break;
    	}
    }
    
    int main(int argc, char** argv)
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
        glutInitWindowSize (800, 600);
        glutInitWindowPosition (100, 100);
    	win = glutCreateWindow("Projekt 1");
    	glViewport(0,0,800,600);
    	if (!LoadGLTextures()) 
    	{ 
    
    	} 
    	glEnable(GL_TEXTURE_2D); 
    	glShadeModel(GL_SMOOTH); 
    	glClearColor(0.0f, 0.0f, 0.0f, 0.5f); 
    	glClearDepth(1.0f); // 
    	glEnable(GL_DEPTH_TEST); 
    	glDepthFunc(GL_LEQUAL); 
    	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);  
    	//glDisable(GL_DEPTH_TEST);
    	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    	glMatrixMode(GL_PROJECTION);
        glutDisplayFunc(rendern); 
        glutKeyboardFunc(keyboard);
        glutMainLoop();
    
    	return 0; 
    }
    

    die glaux.lib ist eingebunden. (Habe ich bei google gefunden, dass das ein Fehlergrund sein könnte).

    Ich wüsste sonst nicht was es sein könnte.




Anmelden zum Antworten