Im trying to load a BMP file
AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
{
FILE *File=NULL; // File Handle
You're compiling your application with Character-Set set to UNICODE (Project Settings -> Configuration Options -> General). Windows header files use #defines to "map" function names to either nameA (for multi-byte strings) or nameW (for unicode strings).
That means somewhere in a header file there will be a #define like this
#define auxDIBImageLoad auxDIBImageLoadW
So you're not actually calling auxDIBImageLoad (there is no function with that name), you're calling auxDIBImageLoadW. And auxDIBImageLoadW expects a unicode string (wchar_t const*). You're passing a multi-byte string (char const*).
You can do one of the following
auxDIBImageLoad with auxDIBImageLoadALoadBMP function to accept a unicode string itselfLoadBMPI'd recommend either changing LoadBMP to accept a unicode string itself or calling auxDIBImageLoadA directly (in that order).
Changing the project settings might be OK if it doesn't break a lot of other code.
I would not suggest converting the string though, since it's unnecessary. Calling auxDIBImageLoadA directly is far easier, and the result is the same.