我正在使用 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(文件名);
它给
loadedImage = IMG_Load(文件名);
并构建/运行它会触发 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 文件
关于c - SDL/C IMG_Load 触发 0xc000007b 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13901390/