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
lesson 6 compile error
Replace this line with
return auxDIBImageLoad[color="#000000"]A(Filename); // Load The Bitmap And Return A Pointer
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.
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
Popular Topics
Advertisement