c - SDL/C IMG_Load 触发 0xc000007b 错误

标签 c image sdl

我正在使用 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/

相关文章:

c++ - 对象销毁时内存泄漏

c++ - SDL 图像在 15 秒后消失

c - 如何为 SIGCHLD 制作一个信号处理程序,它将在 shell 中获取后台进程?

c - 我试图将 char、float 和 int 各 3 个值读入三个数组,但没有正确读取

c - 多少 mxRealloc 可以影响 C-Mex matlab 代码?

c - 如何在头文件中定义一个字符串数组?

javascript - 使用 maxWidth 时通过 JavaScript 检测图像宽度

javascript canvas - 检查是否加载了使用 toDataURL() 创建的图像

java - 计算 MSE(均方误差)

c++ - 用于将文件中的字符串读入 3D 数组的 For 循环