Perşembe, Nisan 22, 2010

Linux'de SDL Kurulumu ve IDE Ayarları

Daha önceleri bir kütüphanenin kurulumunun anlatımını ilk Windows için yapardım. Lakin bu sefer Linux için nasıl kurulacağını anlatacağım. Sağolsun Windows için kurulumunu hemde görüntülü olarak bölüm den arkadaşım Şahin YAYLI bloğunun ilk yazısında gayet net bir şekilde anlatmış. Buradan videoya ulaşabilirsiniz. Şahinede bloğu hayırlı olsun ve yazılarının devamını bekliyoruz dedikten sonra SDL nin Linux için kurulumuna geçelim.

Ben birazdaha tembel birisi olduğumdan video çekmek yerine yazılı olarak anlatacağam. Linux dağıtımı olarak Ubuntu 10.04 IDE olarakda her zamanki gibi Code::Blocks kullanacağım.

1-Kurlumu iki farklı şekilde gerçekleştirebiliriz. İlki terminal ekranından aşağıdaki kodu uygulayarak. İkinciside Synaptic paket yöneticisinden aşağıda isimleri yazılı kütüphaneleri tek tek aratarak kurabilirsiniz.


apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev


Yukarıdaki kodda ne nedir ne işe yarar ona bakalım.

libsdl1.2-dev=> SDL nin çalışması için gerekli ana dosyaları kurar.
libsdl-image1.2-dev=> .bmp uzantılı dosyalar dışındaki(.jpg,.png vs..) resim formatlarını kullanmamızı sağlar.
libsdl-mixer1.2-dev=> Çeşitli ses dosyalarını çalıştırabilmemizi ve düzenlememizi sağlar.
libsdl-ttf2.0-dev=> Ekrana yazı yazdırmamızı sağlar.

Kurulum bu kadar gördüğünüz gibi Windowsa göre gayet kolay :). Şimdi IDE ayarlarını yapalım.

2-CodeBlocks'u açıp Settings bölümünden Compiler and Debugging peceresini açıyoruz. Daha sonra Linker Settings sekmesindeki Link libraries bölümüne
SDL,SDL_image,SDL_ttf,SDL_mixer'ı ekliyoruz.



3-Bu sefer
Search Directories sekmesine geçip ilgili yerlere aşağıdaki yoları ekliyoruz.

Compiler => /usr/include/SDL
Linker => /usr/lib
Resource Compiler => /usr/include/SDL

Kurulum ve IDE ayarıları bitti. Aşağıdaki kodu kullanarak kurlumu hatasız bir şekilde yapıp yapmadığınızı kontrol edebilirsiniz.

#include <SDL/SDL.h>

int main(int argc, char* args[])
{
if(SDL_Init(SDL_INIT_EVERYTHING)==-1)
return 1;

SDL_Surface* screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

if(!screen)
return 1;

bool dongu=true;
while(dongu)
{
SDL_Event
event;
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_QUIT:
dongu =
false;
break;

case SDL_KEYDOWN:
{
if (event.key.keysym.sym == SDLK_ESCAPE)
dongu =
false;
}
}
}
}

SDL_Quit();
return 0;
}

Hiç yorum yok: