SDL/C IMG_Load会触发0xc000007b错误



我正在用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 文件

最新更新