1

我正在使用 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 上(但它不会编译)

4

1 回答 1

-1

获取 SDL.dll

从你下载的 sdl

(来自http://www.libsdl.org/release/SDL-devel-1.2.15-VC.zip)并将其粘贴到可执行文件旁边。

试试 lib/x86 文件夹中的那个

然后删除您在 sdl 安装过程中可能粘贴在 System32/ 或 System/ 或 SysWOW64/ 中的任何 SDL.dll 文件

于 2013-09-04T23:27:32.687 回答