C++ SDL błąd w kompilacji

Poniższy kod pochodzi z kursu, próbowałem go skompilować, ale bez skutecznie.

#include 

SDL_Surface * ekran = NULL;

int main( int argc, char * args[] )

{

    SDL_Init( SDL_INIT_EVERYTHING );

    ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

    SDL_Flip( ekran );

    SDL_Delay( 2000 );

    SDL_Quit();

    return 0;

}

Dev c++ wyrzucił następujące błędy:

C:\DOCUME~1\ADMINI~1\USTAWI~1\Temp/cciqaaaa.o(.text+0xe):BezNazwy1.cpp: undefined reference to `SDL_Init'

C:\DOCUME~1\ADMINI~1\USTAWI~1\Temp/cciqaaaa.o(.text+0x32):BezNazwy1.cpp: undefined reference to `SDL_SetVideoMode'

C:\DOCUME~1\ADMINI~1\USTAWI~1\Temp/cciqaaaa.o(.text+0x44):BezNazwy1.cpp: undefined reference to `SDL_Flip'

C:\DOCUME~1\ADMINI~1\USTAWI~1\Temp/cciqaaaa.o(.text+0x50):BezNazwy1.cpp: undefined reference to `SDL_Delay'

C:\DOCUME~1\ADMINI~1\USTAWI~1\Temp/cciqaaaa.o(.text+0x55):BezNazwy1.cpp: undefined reference to `SDL_Quit'

C:\Dev-Cpp\lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'

collect2: ld returned 1 exit status


Wykonanie zakończone
  1. Nie używaj słowa “problemy” w temacie: nic nie mówi o tym jaki problem napotkałeś, a to jest kluczowe.

  2. Nie używaj Dev-C++: to archaiczne, od dawna nie wspierane, pełne błędów IDE.

  3. Twój projekt nie ma dołączonej biblioteki SDL, zatem wszelkie próby wywołanie funkcji SDL zawodzą.

  4. Twój projekt nie jest stworzony jako aplikacja Windows, a używasz main. Linker oczekuje, że znajdzie WinMain, a go nie znajduje. (ten problem jest nieco bardziej złożony).

Polecam:

  1. Przesiąść się na Visual C++

  2. Dodać katalog z bibliotekami (.lib) SDLa do i plikami nagłówkowymi do projektu (albo środowiska).

  3. Wrócić do zabawy z kodem.

Właśnie o to chodzi że raczej na laptopie z prockiem 166mhz i 70mb ramu z windowsem 98 nie uruchomie visual c++

A może mi ktoś poelci inny “lekki” kompilator…

Spróbuj może jakiś notatnik ze składnią c++ chyba note++ do tego możesz kompilować komendami np. w linuxie o ile dobrze pamiętam to wymagana jest tylko paczka g++(?) i potem kompilujesz w terminalu za pomocą jednej komendy;p

Na windowsie nie wiem jak to jest używam visual c++ 2010

No właśnie na linuxie tego nie ogarnąłem, tak normalnie kompilowałem przez g++, ale jak przyszło mi załączyć bibliotekę sdl to problemy miałem.

Kompilator VC++ można swobodnie uruchamiać z linii poleceń. Problem w tym, że na Win98 prawdopodobnie nie odpali Ci się nic nowszego niż szóstka, której nie zdobędziesz. Możesz spróbować Code::Blocks, ale potrzebujesz na bank MLU:

http://msdn.microsoft.com/pl-pl/goglobal/bb688166.aspx

Alternatywnie:

  1. Zainstaluj cygwina i pisz kod w dowolnym edytorze tekstu, po czym kompiluj z linii poleceń.

  2. Użyj Linuksa. Potrzebujesz upewnić się, że masz zainstalowaną bibliotekę a później z linii poleceń, przy kompilacji postępujesz zgodnie z krokami z FAQ:

http://wiki.libsdl.org/moin.cgi/FAQLinux

Generalnie jeśli Ci nie zadziałało w Linuksie i w Dev-C++, to masz do przeskoczenia problem kompilacji programu z zewnętrznymi zależnościami, zanim zaczniesz pisać kod.

Wkońcu ! :wink:

Udało mi się na linuxie, więc na windowsie już nie próbuje.

Dzięki wszystkim za chęć pomocy, i zainteresowanie się problemem.