Yoda Opublikowano 23 Grudnia 2007 Opublikowano 23 Grudnia 2007 No więc zacząłem się bawić SDLem. NIby wszystko gra zainstalowałem tak jak pisało na http://lazyfoo.net/SDL_tutorials/index.php (używam DEV C++) No i odpaliłem test ( najprostszy program w SDLu ) - ok chodzi, ale jeden test wiosny nie czynie więc użyłem nieco bardziej rozbudowanego kodu ;p #include<SDL.h> #include<stdlib.h> int main(void) { SDL_Surface * ekran; SDL_Event event; Uint32 Bialy; /* Inicjalizacja SDLa */ if(SDL_Init(SDL_INIT_VIDEO)<0) { printf("Nie można zainicjalizować SDLa\n"); return 1; } atexit(SDL_Quit); /* Ustaw tryb graficzny na 640x480 (okno) */ if(!(ekran = SDL_SetVideoMode(640, 480, 0, SDL_ANYFORMAT))) { printf("Nie można ustawić trybu graficznego\n"); return 1; } /* pobierz numer koloru białego */ Bialy = SDL_MapRGB(ekran->format, 255, 255, 255); SDL_Rect obszar; obszar.x = 0; obszar.y = 0; obszar.w = ekran->w; obszar.h = ekran->h; /* wypełnij ekran na biało */ SDL_FillRect(ekran, &obszar, Bialy); /* wymuś aktualizację ekranu, inaczej nic nie zobaczymy */ SDL_Flip(ekran); for(;;) { if(SDL_PollEvent(&event)) { if(event.type==SDL_QUIT || event.type==SDL_KEYDOWN) return 0; } /* oddaj czas procesora dla innych aplikacji */ SDL_Delay(100); } } Z nowych rzeczy jest tutaj struktura SDL_Rect. Ma ona postać: typedef struct SDL_Rect { Sint16 x, y; Uint16 w, h; } SDL_Rect; I gdy próbuję to skompilować mam takie błędy: C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x397) In function `console_main': [Linker error] undefined reference to `SDL_main' C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x397) ld returned 1 exit status C:\Dev-Cpp\Makefile.win [build Error] [sDL_tutorial.exe] Error 1 Czemu tak się dzieje? Coś źle w kodzie ( przyznam skopiowałem go bez analizy, bo chciałem przetestować czy wszystko działa... jak widać nie :( ), czy może coś źle zainstalowałem? :mellow:
PsichiX Opublikowano 23 Grudnia 2007 Opublikowano 23 Grudnia 2007 W folderze lib brakuje chyba pliku "libSDLmain.a"
Yoda Opublikowano 23 Grudnia 2007 Autor Opublikowano 23 Grudnia 2007 O, właśnie zapomniałem powiedzieć, że już rozwiązałem - problem był w tym, że w Opcjach Projektu --> Parametry --> Linkery czy coś - brakowało tam jednej linijki. :) skumałem się dopiero jak znalazłem pewien poradnik na innej stronce ;F
Rekomendowane odpowiedzi