1

私はSDLで軌道に乗ろうとしています。SDL 自体は正常に動作し、基本的な Hello World のセットアップが動作するようになりました。しかし、SDL_image を使おうとすると、頭の痛い問題が発生します。現在のコード (以下) では、17 行目で「Img_Load はこのスコープで宣言されていませんでした」というエラーが表示されます。

  • Code::Blocks のリンカ設定は次のようになります: "-lmingw32 -lSDLmain -lSDL -lSDL_image"
  • 検索ディレクトリが適切に設定されている
  • 必要な DLL は、EXE のあるフォルダーにあります。

    include iostream
    include fstream
    include "SDL/SDL.h"
    include "SDL_image.h"
    
    using namespace std;
    const int SCREEN_WIDTH = 600;
    const int SCREEN_HEIGHT = 600;
    
    int main(int argc, char *argv[]){
        SDL_Init(SDL_INIT_EVERYTHING);
    
        SDL_Surface* hello = NULL;
        SDL_Surface* screen = NULL;
    
        screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32, SDL_SWSURFACE);
        hello = Img_Load("img\\hello world.png");
    
        if(!hello) //check that the load worked
            cout<<"error";
    
        SDL_BlitSurface(hello, NULL, screen, NULL); //draw image
        SDL_Flip(screen);
    
        SDL_Delay(2000);
    
        SDL_FreeSurface(hello); //closing down
        SDL_Quit();
    
    return 0;
    }
    

どんな助けでも大歓迎です!

4

1 に答える 1

1

'IMG_Load'は、このようなエラーが発生したときに、ライブラリ参照を使用してソースファイルの大文字と小文字を確認します。

于 2012-08-09T06:09:52.870 に答える