私は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; }
どんな助けでも大歓迎です!