NeNe_lesson_object.obj : error LNK2019: unresolved external symbol _auxDIBImageLoadA@4 referenced in function "struct _AUX_RGBImageRec * __cdecl LoadBMP(char *)" (?LoadBMP@@YAPAU_AUX_RGBImageRec@@PAD@Z)
1>F:\shiter\code\NeNe_lesson_object\Debug\NeNe_lesson_object.exe : fatal error LNK1120: 1 unresolved externals
代码:就是nene的教程,纹理映射,vs 2010 express
#include "stdafx.h"
#include <windows.h> // Windows的头文件
#include<stdio.h>
//#include <gl/glew.h> // 包含最新的gl.h,glu.h库
//#include <gl/glut.h> // 包含OpenGL实用库
#include <gl/glaux.h> // GLaux库的头文件
//#include<gl/GLU.h>
#pragma comment(lib, "opengl32.lib") 
#pragma comment(lib, "glu32.lib") 
#pragma comment(lib, "glut32.lib") 
HGLRC           hRC=NULL; // 窗口着色描述表句柄
HDC             hDC=NULL; // OpenGL渲染描述表句柄
HWND            hWnd=NULL; // 保存我们的窗口句柄
HINSTANCE       hInstance; // 保存程序的实例bool keys[256]; // 保存键盘按键的数组
bool active=TRUE; // 窗口的活动标志,缺省为TRUE
bool fullscreen=TRUE; // 全屏标志缺省,缺省设定成全屏模式GLfloat rtri; // 用于三角形的角度
GLfloat rquad; // 用于四边形的角度GLfloat xrot; // X 旋转量
GLfloat yrot; // Y 旋转量
GLfloat zrot; // Z 旋转量GLuint texture[1]; // 存储一个纹理AUX_RGBImageRec *LoadBMP(char *Filename) // 载入位图图象
{
FILE *File=NULL; // 文件句柄 if (!Filename) // 确保文件名已提供
{
return NULL; // 如果没提供,返回 NULL
}
File=fopen(Filename,"r"); // 尝试打开文件
if (File) // 文件存在么?
{
fclose(File); // 关闭句柄
return auxDIBImageLoad(Filename); // 载入位图并返回指针
}
return NULL; // 如果载入失败,返回 NULL
}
int LoadGLTextures() // 载入位图(调用上面的代码)并转换成纹理
{ int Status=FALSE; // 状态指示器
AUX_RGBImageRec *TextureImage[1]; // 创建纹理的存储空间
memset(TextureImage,0,sizeof(void *)*1); // 将指针设为 NULL
// 载入位图,检查有无错误,如果位图没找到则退出
if (TextureImage[0]=LoadBMP("shit.bmp"))
{
Status=TRUE; // 将 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; // 返回 Status
}怎么办?怎么调试啊...求指导...

解决方案 »

  1.   

    2010啊,express版,我基本能搞的头文件都包含了啊,库的话,也之前配置好了的,
    nene的教程前几个例子都能用的
    添加了,我上面的代码就不行了,初学不知道什么问题...
      

  2.   

    这也看不懂? #pragma comment(lib,"glaux.lib")
    就OK了
      

  3.   

    错误信息里面有提示的,没有找到auxDIBImageLoad的实现,一般就是没把静态库包含进来。