🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

lesson 6 compile error

Started by
1 comment, last by AaronL 12 years, 10 months ago
Hello
I'm new to openGL and I've just tried lesson 6, but I get this error:

error C2664: 'auxDIBImageLoadW' : cannot convert parameter 1 from 'char *' to 'LPCWSTR'1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

in this line:

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
[color="#000000"] return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
}

return NULL; // If Load Failed Return NULL
}

I'm using VS 2008

thanks
Advertisement
Replace this line with

return auxDIBImageLoad[color="#000000"]A(Filename); // Load The Bitmap And Return A Pointer
You are compiling using the Unicode character set. There are two fixes for this. First, go to your project properties. Under Configuration Properties-->General, change Character Set to use Multi Byte Character set. Then you can do the tutorials unchanged.

I prefer a second fix. Leave your code as Unicode. Change all string literals as follows: Instead of a string like "Nehe OpenGL" it should be (LPWCSTR)L"Nehe OpenGL". All Java, C#, etc. code is always Unicode, and it's good to follow this pattern in C++ too because it's better if you wanted to internationalize your code later on.

This topic is closed to new replies.

Advertisement