|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
^suny^
Joined: 30 Nov 2007 Posts: 57
|
Posted: Tue Jan 20, 2009 8:25 pm Post subject: Par sdl |
|
Tātad, kā zināms 10 klasē ir jāveido ZPD(Zinātniski Pētnieciskais Darbs), un es izvēlējos tēmu Informātikā, par programmēšanu.
Esmu ievērojis, ka šajā forumā diezgan daudz tiek runāts par SDL. Daudzi saka, ka viņš ir ļoti labs iesācējiem u.t.t. Es viņu izvēlējos tikai tāpēc, lai nerakstīt garās rindas Win32API vidē, lai izveidot primitīvu logu, un arī lietot SDL grafiku.
Bet, man gadijās neliela ķibele (vai arī liela, problēmu nevaru saprast).
Atradu internetā kaut kādu parastu piemēru :
Code: | #include <SDL.h>
int main(int argc, char* argv[])
{
//initialize SDL and the video system.
if (SDL_Init( SDL_INIT_VIDEO)<0)
return -1;
//signal SDL to change the text of the main window to SDL "Hello World".
SDL_WM_SetCaption("Hello world","Hello World");
//Create an SDL_Surface object, which represents, the game window.
SDL_Surface* screen=SDL_SetVideoMode(640,480,0,0);
SDL_Surface* temp=SDL_LoadBMP("data\\structures\\sdl_logo.bmp");
SDL_Surface* bg= SDL_DisplayFormat(temp);
SDL_FreeSurface(temp);
SDL_Event event;
bool quit=false;
//this is the main message loop if the game.
while(!quit)
{
//Check message qeue for an event.
if (SDL_PollEvent(&event))
{
//If an event was found.
switch (event.type)
{
case SDL_QUIT:
quit=true;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE:
quit=true;
break;
}
break;
}
}
//Draw the background sprite:
SDL_BlitSurface(bg, NULL, screen, NULL);
//Update the current window.
SDL_UpdateRect(screen,0,0,0,0);
}
//Free the allocated memery for the background surface.
SDL_FreeSurface(bg);
SDL_Quit();
return 0;
} |
Bet man parādija kļūdu
C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x397) In function `console_main': [Linker error] undefined reference to `SDL_main'
Es visu biju darījis, pēc sekojošas pamācības http://www.gpwiki.org/index.php/C:How_to_set_up_your_SDL_Build_Environment#Windows:_Dev-C.2B.2B
Nedaudz vēlāk parasti ierakstot #include <SDL.h> vai "SDL.h" kļūda nemainijās! _________________
|
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Tue Jan 20, 2009 8:37 pm Post subject: |
|
Apskati rakstu: http://gamedev.lv/article/snake_2_stundas
Un atbilde uz tavu jautājumu: aizstāj main... ar SDL_main... _________________ long time; /* know C */ |
|
Back to top |
|
|
^suny^
Joined: 30 Nov 2007 Posts: 57
|
Posted: Tue Jan 20, 2009 8:45 pm Post subject: |
|
Liels paldies! Viss aizgājā, tūliņ sākšu savus pētījumus _________________
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Jan 20, 2009 9:12 pm Post subject: Re: Par sdl |
|
^suny^ wrote: | Daudzi saka, ka viņš ir ļoti labs iesācējiem u.t.t. |
SDL nav ļoti labs iesācējiem. Jo tas pieprasa tevi sakarīgi zināt C un ar visu no tā izrietošām sekām..
Daudz labāks ir C++ ar SFML bibliotēku.
SDL labums ir tā cross-platformiskums - tas dod iespēju ar vienu un to pašu kodu kompilēt programmu (t.i. spēli) uz visdažādākajām PC un ne-PC platformām (arī mobīlajiem telefoniem, PSP un tml ierīcēm).
Par to tavu kļūdu - tu kompilētāja opcijās neesi norādījis preprocesora defainu SDL_main=main. Nezinu kāpēc tas nav norādīts tavā ielinkotajā linkā. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|