• Advertisement
Sign in to follow this  

lesson 6 compile error

This topic is 2366 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement
Replace this line with

return auxDIBImageLoad[color="#000000"]A(Filename); // Load The Bitmap And Return A Pointer

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement