我正在用C(不是CPP)遵循LazyFoo的SDL教程,但我被困在从SDL_LoadBMP()切换到IMG_Load()的部分。函数
SDL_Surface *load_image(char *filename) {
SDL_Surface* loadedImage = NULL;
SDL_Surface* optimizedImage = NULL;
loadedImage = SDL_LoadBMP(filename);
if(loadedImage != NULL) {
optimizedImage = SDL_DisplayFormat( loadedImage );
SDL_FreeSurface(loadedImage);
}
return optimizedImage;
}
工作得很好
background = load_image("background.bmp");
但如果我改变
loadedImage = SDL_ImageBMP(filename);
它到
loadedImage = IMG_Load(filename);
并构建/运行它会触发0xc000007b错误。我很确定我正确安装了 SDL_image.h 库,因为我小心翼翼地遵循了这些步骤。所以我的问题是:怎么了?从谷歌我只来:与.dll的东西,但是 - 什么?我正在使用Visual Studio 2010,但它也发生在Code::Blocks中(但它无法编译)
采用 SDL.dll
从您下载的 SDL
(来自 http://www.libsdl.org/release/SDL-devel-1.2.15-VC.zip)并将其粘贴到可执行文件旁边。
尝试 lib/x86 文件夹中的那个
然后删除您在 SDL 安装过程中可能粘贴到 System32/或 System/或 SysWOW64/中的任何 SDL.dll 文件