Yoda Opublikowano 23 Grudnia 2007 Udostępnij 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: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 23 Grudnia 2007 Udostępnij Opublikowano 23 Grudnia 2007 W folderze lib brakuje chyba pliku "libSDLmain.a" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 23 Grudnia 2007 Autor Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi