1

私は LazyFoo の SDL チュートリアルを C (CPP ではない) でフォローしていますが、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 ライブラリを適切にインストールしたと確信しています。これは、慎重に手順を実行したためです。私の質問は次のとおりです。何が問題なのですか? Google からは、.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 に答える