用OPENGL载入位图中出现的 不能将参数 1 从“char *”转换为“LPCWSTR”问题。
请教各位大侠,我在学习NEHE的OPENGL教程,学到第六课中的载入位图和纹理时,发现auxDIBImageLoad(Filename)函数无法通过编译,原因是:不能将参数 1 从“char *”转换为“LPCWSTR”,我用的是VS2010,前面的程序都是用GLUT写的,这个函数是用的GLAUX,不知道是不是因为这个的原因出错。上网找了下原因,有人说改项目设置改成“多字节字符集”就可以,可是我改了之后又出新问题:无法解析的外部符号 _auxDIBImageLoadA@4,该符号在函数 "struct _AUX_RGBImageRec * __cdecl LoadBMP(char *)" (?LoadBMP@@YAPAU_AUX_RGBImageRec@@PAD@Z) 中被引用,真不知道改这个设置为什么会出现这样的错误?另请问各位,GLUT和GLAUX到底有什么区别和联系?
AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
{
FILE *File=NULL; // File Handle
if (!Filename) // Make Sure A Filename Was Given
{
return NULL; // If Not Return NULL
}
File=fopen(Filename,"r"); // Check To See If The File Exists
if (File) // Does The File Exist?
{
fclose(File); // Close The Handle
return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
}
return NULL; // If Load Failed Return NULL
}