Hlavní navigace

SDL: Hry nejen pro Linux (2)

Ve druhé části série si ukážeme, jak nainstalovat SDL, a dále budou uvedeny "step-by-step" návody na vytvoření SDL projektů v gcc, MS Visual C++ a Dev-C++.

Tweetni to Odměnte autora  Jak to funguje?

Instalace SDL

Jak už bylo zmíněno na konci minulého dílu, v linuxových distribucích bývá SDL standardně přítomno, ale pravděpodobně bude nutné doinstalovat balíčky pro vývoj (devel). U jiných operačních systémů lze při požadavku na nejnovější verzi či při ruční kompilaci stahovat z download stránky webu SDL.

V Linuxu se instalace ze zdrojových kódů provádí klasicky pomocí ./configure; make; make install, ve Windows je nejjednodušší cestou vzít předkompilovanou dynamickou knihovnu SDL.dll a zkopírovat ji buď do adresáře C:\Windows\Sys­tem32\, nebo ke každému vytvářenému projektu zvlášť. Ať už používáte jakýkoli operační systém, nikdy byste neměli zapomenout přiložit k vašemu projektu také informační soubor README-SDL.txt.

Ukázkový program

Vzhledem k tomu, že se při vytváření nového programu začíná vždy založením projektu, budeme tak postupovat i my. Na popis zdrojového kódu se však vzhledem k místu nedostane, vše bude probráno až v následujících dílech.

Velice jednoduchý ukázkový program vytvoří prázdné okno a poté bude čekat na stisk klávesy ESC, tím se ukončí. Nic extra efektního, ale aspoň budeme mít kontrolu, že jsme SDL dokázali zprovoznit.

Screenshot ukázkového programu

gcc

Pokud je SDL nainstalováno, měl by jít zdrojový kód zkompilovat například následovně

$ gcc -o sdl02 sdl_02.cpp `sdl-config --cflags --libs`

Výše uvedený příkaz sdl-config se nainstaloval automaticky s SDL a slouží především k určení cest k hlavičkovým souborům a knihovnám. Před vlastním spuštěním gcc bude obsah části ve zpětných apostrofech proveden shellem a nahrazen do výsledné formy (na mém systému).

$ gcc -o sdl02 sdl_02.cpp -I/usr/include/SDL -D_REENTRANT
-L/usr/lib -lSDL -lpthread

Mimochodem, všechny volby sdl-config lze získat spuštěním bez parametrů

$ sdl-config
Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]]
[--version] [--cflags] [--libs] [--static-libs]

Visual C++ (6.0)

Aby IDE vědělo, kde má hledat hlavičkové a knihovní (LIB) soubory, je nejprve nutné přidat v menu Tools → Options → Directories absolutní cesty k podadresářům include a lib z rozbaleného archivu SDL-devel-1.2.8-VC6.zip.

Dále se vytvoří nový Win32 Application projekt popř. Win32 Console Application projekt, pokud je požadavkem i výstup do konzole. V menu Project → Settings → C/C++ → Code Generation se v listboxu Use run-time library navolí Debug Multithreaded DLL (pro Debug verzi programu) nebo Multithreaded DLL (pro Release verzi programu). To se musí vykonat u každého nově vytvářeného projektu, jinak jeho kód nepůjde zkompilovat.

Zbývá přilinkovat knihovny SDL.lib a SDLmain.lib, to lze udělat buď přes nabídky ve vlastnostech projektu, nebo připsáním následujících dvou řádků ke kódu.

#pragma comment (lib, "SDL.lib")
#pragma comment (lib, "SDLmain.lib")

Bloodshed Dev-C++ (4.9.9.1)

Podobně jako u Visual C++ je nutné v menu Nástroje → Nastavení kompilátoru → Adresáře nastavit cesty k hlavičkových a knihovním souborům. Na tomto místě je nutné poznamenat, že devel archiv pro Visual C++ je v Dev-C++ nepoužitelný, pro něj slouží SDL-devel-1.2.8-mingw32.tar.gz. Dynamická knihovna SDL.dll je už ale samozřejmě společná.

Po vytvoření konzolového projektu se v menu Projekt → Vlastnosti projektu → Parametry přidají knihovny -lmingw32, -lSDLmain a -lSDL (v tomto pořadí). V případě, že bude na konec seznamu přidáno i -mwindows, nebude se zároveň s aplikací zobrazovat konzolové okno.

Jiné operační systémy a kompilátory

K jiným operačním systémům ani vývojovým prostředím nemám bohužel v současné době přístup. Pokud v nich máte se zprovozněním SDL problémy, mohl by vám pomoci SDL FAQ nebo klasicky Google. Také můžete zkusit diskusi níže, třeba se najde někdo chytrý…

Makefile pro tyto články

Aby se nemuseli permoníci, co nosí pakety po síti, příliš namáhat, budou kompletní projekty pro všechna testovaná vývojová prostředí přiloženy pouze u tohoto článku. V příštích dílech bude přikládán pouze jednoduchý ručně psaný Makefile, který může při více souborech se zdrojovými kódy hodně věcí zjednodušit. Celý program se pak zkompiluje pouze zapsáním jediného make do příkazové řádky. Vývojová prostředí obsahují funkci přidání souborů do projektu, takže by se u nich neměly vyskytnou žádné větší problémy.

Download

Pokračování

Příště se v první části článku seznámíme s konvecemi názvů SDL funkcí a s SDL datovými typy a v druhé části se konečně začneme věnovat popisu knihovny z programátorského hlediska.

Michal Turek

Autor studuje první ročník FEL ČVUT Praha, baví ho vše kolem počítačů, zvláště programování v jazycích PHP a C/C++ včetně počítačové grafiky pod knihovnou OpenGL.

Ohodnoťte jako ve škole:
Průměrná známka 3,20
Tweetni to Odměnte autora  Jak to funguje?

Naučíme vás základy programovacího jazyka C++

 


Zkušený lektor Pavel Tišnovský vás seznámí se způsobem tvorby aplikací s využitím programovacího jazyka C++, který je jedním z nejpoužívanějších programovacích jazyků současnosti.

Klikněte pro více informací o školení

       

Přehled názorů

Dev-C++
Michal Molhanec 1. 3. 2005 00:25
Nový
└ 
Re: Dev-C++
diki 8. 1. 2011 16:30
Nový
co takhle
minio 1. 3. 2005 00:29
Nový
└ 
Re: co takhle
Mti. 1. 3. 2005 09:25
Nový
 
├ 
Re: co takhle
Radek Burget 1. 3. 2005 09:51
Nový
 
└ 
Re: co takhle
smrt 1. 3. 2005 09:53
Nový
Hello world
hisaak 1. 3. 2005 09:27
Nový
└ 
Re: Hello world
d.e.u.s. 1. 3. 2005 10:44
Nový
Clanek na nic
biokys 1. 3. 2005 09:28
Nový
Je mi trosku lito autora
anonymní uživatel 1. 3. 2005 11:13
Nový
└ 
Re: Je mi trosku lito autora
MartensPh 1. 3. 2005 11:23
Nový
 
├ 
Re: Je mi trosku lito autora
Lembloud 1. 3. 2005 11:58
Nový
 
│
└ 
Re: Je mi trosku lito autora
smrt 1. 3. 2005 14:07
Nový
 
│
 
└ 
Re: Je mi trosku lito autora
Lembloud 1. 3. 2005 14:22
Nový
 
│
 
 
└ 
Re: Je mi trosku lito autora
Ondrej Holecek 2. 3. 2005 09:47
Nový
 
│
 
 
 
└ 
Re: Je mi trosku lito autora
Adam Hauner 3. 3. 2005 07:54
Nový
 
└ 
Re: Je mi trosku lito autora
vredy_meho_dedy 4. 3. 2005 15:56
Nový
Tak tudy cesta nevede...
jm 1. 3. 2005 13:17
Nový
Mohl by to byt dobry serial ...
anonymní uživatel 1. 3. 2005 13:46
Nový
Vy všichni jste velcí borci...
Murphy 1. 3. 2005 17:23
Nový
└ 
Re: Vy všichni jste velcí borci...
jm 1. 3. 2005 17:33
Nový
STAVKA
krestnijmeno prijmeni 1. 3. 2005 17:54
Nový
└ 
Re: STAVKA
Johanka Doležalová 1. 3. 2005 19:13
Nový
 
├ 
Re: STAVKA
Milan Jurik 1. 3. 2005 21:52
Nový
 
├ 
Re: STAVKA
Milan Jurik 1. 3. 2005 22:14
Nový
 
├ 
Re: STAVKA
anonymní uživatel 1. 3. 2005 22:41
Nový
 
│
└ 
Re: STAVKA
sartori 1. 3. 2005 22:42
Nový
 
│
 
└ 
Re: STAVKA
Putna 4. 3. 2005 15:21
Nový
 
├ 
Re: STAVKA
Honza Bartoš 1. 3. 2005 23:10
Nový
 
├ 
Re: STAVKA
MartensPh 2. 3. 2005 07:31
Nový
 
│
└ 
Re: STAVKA
MartensPh 2. 3. 2005 07:38
Nový
 
│
 
└ 
Re: STAVKA
Honza 2. 3. 2005 09:25
Nový
 
└ 
Re: STAVKA
Penguin_007 2. 3. 2005 07:44
Nový
 
 
└ 
Re: STAVKA
Johanka Doležalová 2. 3. 2005 08:17
Nový
 
 
 
├ 
Re: STAVKA
smrt 2. 3. 2005 09:26
Nový
 
 
 
├ 
Re: STAVKA
Penguin_007 2. 3. 2005 10:25
Nový
 
 
 
│
└ 
Re: STAVKA
Johanka Doležalová 2. 3. 2005 11:25
Nový
 
 
 
│
 
├ 
Re: STAVKA
jm 2. 3. 2005 14:19
Nový
 
 
 
│
 
│
└ 
Re: STAVKA
Adam Hauner 3. 3. 2005 08:10
Nový
 
 
 
│
 
└ 
Re: STAVKA
smrt 2. 3. 2005 16:44
Nový
 
 
 
│
 
 
├ 
Re: STAVKA
Johanka Doležalová 2. 3. 2005 16:51
Nový
 
 
 
│
 
 
├ 
Re: STAVKA
anonymní uživatel 2. 3. 2005 22:35
Nový
 
 
 
│
 
 
└ 
Re: STAVKA
bk 2. 3. 2005 22:35
Nový
 
 
 
└ 
Re: STAVKA
Samael 2. 3. 2005 10:28
Nový
 
 
 
 
├ 
Re: STAVKA
smrt 2. 3. 2005 10:43
Nový
 
 
 
 
└ 
Re: STAVKA
Johanka Doležalová 2. 3. 2005 11:28
Nový
 
 
 
 
 
└ 
Johanko neposlouchej je, ja stojim za tebou
Petr Bren 2. 3. 2005 16:40
Nový
 
 
 
 
 
 
├ 
Re: Johanko neposlouchej je, ja stojim za tebou
Johanka Doležalová 2. 3. 2005 16:43
Nový
 
 
 
 
 
 
│
└ 
Re: Johanko neposlouchej je, ja stojim za tebou
Samael 2. 3. 2005 18:49
Nový
 
 
 
 
 
 
│
 
└ 
Re: Johanko neposlouchej je, ja stojim za tebou
Johanka Doležalová 2. 3. 2005 19:50
Nový
 
 
 
 
 
 
│
 
 
├ 
Re: Johanko neposlouchej je, ja stojim za tebou
Penguin_007 2. 3. 2005 20:20
Nový
 
 
 
 
 
 
│
 
 
└ 
Re: Johanko neposlouchej je, ja stojim za tebou
anonymní uživatel 2. 3. 2005 22:29
Nový
 
 
 
 
 
 
│
 
 
 
└ 
Re: Johanko neposlouchej je, ja stojim za tebou
Johanka Doležalová 2. 3. 2005 22:48
Nový
 
 
 
 
 
 
└ 
Re: Johanko neposlouchej je, ja stojim za tebou
Lomm 7. 3. 2005 21:54
Nový
Was is das?
Zubr 5. 3. 2005 23:23
Nový
jak spustím Makefile?
nesro 16. 3. 2008 11:18
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem