我正在学习LazyFoo的C(不是CPP)的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文件

关于c - SDL/C IMG_Load触发0xc000007b错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13901390/

10-10 06:04