Yazıda SDL kütüphanesinin kurulumu anlatılmaktadır. Kurulum adımları Linux-Mint 17 qiana sürümü üzerinde denenmiş olup Ubuntu ve (büyük ihtimalle) Debian tabanlı diğer dağıtımlara da aşağıda anlatıldığı şekilde SDL kurulumu yapılabilir.
SDL kurulumu
SDL'in son sürümünü buradan indiriyoruz. (Şimdilik 2.0.3)
Zip ya da tar.gz olarak indirdiğimiz dosyayı herhangi bir yere çıkartıyoruz (yeri önemli değil, işimiz bitince silebiliriz).
Çıkarttığımız klasörün içine girip bir terminal açıyoruz.
SDL'i yüklemeden önce SDL'in bağımlılıklarını yükleyeceğiz. Klasörün içinde README-linux.txt dosyası içerisinde bağımlılıkları tek seferde yükleyen aşağıdaki komut mevcut. Terminalde bu komutu çalıştırıyoruz.
sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev
Readme dosyasında yazmıyor; ama internette aşağıdakilerin de yüklenmesi gerektiğini yazmışlar. İleride yüklemek isteyebileceğimiz extension kütüphaneleri için gerekli olabilir. Örneğin zlib ve libpng12-dev, az sonra png desteği için yükleyeceğimiz SDL_image için gerekli.
sudo apt install xorg-dev libudev-dev libts-dev libglu1-mesa-dev libopenal-dev libogg-dev libvorbis-dev libaudiofile-dev libfreetype6-dev libusb-dev libdbus-1-dev zlib1g-dev libdirectfb-dev libpng12-dev
Şimdi kodu derlemeden önce terminalden ./configure komutunu çalıştırıyoruz. Bu betik eksik bir şey varsa hata veriyor ve make komutunu çalıştırmadan önce bir kez hatasız çalışmış olması gerekiyor ( http://tr.wikipedia.org/wiki/Configure ). Yukarıdaki komutları çalıştırdıysak hata vermemesi lazım.
./configure
Daha sonra kodu derlemek için make komutunu çalıştırıyoruz.
make
Şimdi checkinstall programını yükleyip çalıştırıyoruz.
sudo apt-get install checkinstall
sudo checkinstall
Checkinstall kullanmak şart değil, ama make install yaptığımızda dosyalar sistemin her tarafına saçılıyor. Checkinstall bunların nerelere konulacağının kaydını tutuyor ki ileride temiz bir uninstall işlemi yapılabilsin. Bunun için .deb uzantılı paket yaratıyor.
Son olarak ldconfig çalıştırıyoruz.
sudo ldconfig
SDL'i yükledik. Aşağıdaki kodla test edelim. Önce kodun bulunduğu klasöre resim.bmp adlı bir resim koyuyoruz.
#include <SDL2/SDL.h>
const int WIDTH = 640;
const int HEIGHT = 480;
SDL_Window* window = NULL;
SDL_Surface* screen = NULL;
int main( int argc, char* args[] )
{
SDL_Init( SDL_INIT_VIDEO );
window = SDL_CreateWindow(
"Deneme",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
WIDTH,
HEIGHT,
SDL_WINDOW_SHOWN);
screen = SDL_GetWindowSurface( window );
SDL_Surface* image = NULL;
image = SDL_LoadBMP( "resim.bmp" );
SDL_Event e;
while(1==1){
SDL_BlitSurface( image, NULL, screen, NULL );
SDL_UpdateWindowSurface( window );
while (SDL_PollEvent(&e)) {
if (e.type == SDL_QUIT) {
SDL_FreeSurface( image );
SDL_DestroyWindow( window );
SDL_Quit();
return 0;
}
}
}
}
Kodu derlemek için:
gcc test.c -Wall -o test -lSDL2
SDL'i C++ ile kullanacaksak g++'ı kurmamız gerekiyor (Mint 17'de varsayılan olarak yok).
sudo apt-get g++
g++ test.c -Wall -o test -lSDL2
Kaynak:
http://nothingtocode.blogspot.com.tr/2013/07/setting-up-sdl2-in-ubuntu-or-linux-mint.html
SDL_image kütüphanesinin kurulumu
SDL, default olarak png, jpg gibi resim formatlarını desteklemiyor. Bunun için SDL_image yüklememiz gerekiyor. SDL'i kurabildiysek SDL_image yüklemek artık kolay. Aynı şeyleri yapıyoruz.
Bağımlılıkları yukarıda zaten yüklemiştik (daha fazlası: http://www.libsdl.org/projects/SDL_image/docs/SDL_image.html).
Kütüphaneyi buradan indirdikten sonra unzip'leyip klasörün içine giriyoruz. Terminal açıp sırasıyla aşağıdaki komutları çalıştırıyoruz.
./configure
make
sudo checkinstall
sudo ldconfig
SDL_image'ı test etmek için önceki yazımdaki kodu kullanabilirsiniz. Derlemek için:
g++ test.cpp -Wall -o 01_hello_SDL -lSDL2 -lSDL2_image
Eclipse ayarı
Eclipse'te C, C++ geliştirmek için
Eclipse'i açıp Yeni C/C++ projesini oluşturuyoruz.
Project Explorer'da projenin üzerine sağ tıkladıktan sonra Properties -> C/C++ Build -> Settings -> Linker -> Libraries
Sağ üstte açılan Libraries (-l) pencereciğinin başlığındaki küçük yeşil artı işaretine basarak ayrı ayrı SDL2 ve SDL2_image yazıp ekledikten sonra önce Apply, sonra OK'e basıp pencereyi kapatıyoruz.
gcc veya g++ komutunda -l ile yadığımız dinamik bağlama parametrelerini buraya girmiş oluyoruz.
Yeni başlayanlar için bağlantılar
http://lazyfoo.net/tutorials/SDL/index.php
http://wiki.libsdl.org/Tutorials
http://wiki.libsdl.org/APIByCategory
SDL kurulumu
SDL'in son sürümünü buradan indiriyoruz. (Şimdilik 2.0.3)
Zip ya da tar.gz olarak indirdiğimiz dosyayı herhangi bir yere çıkartıyoruz (yeri önemli değil, işimiz bitince silebiliriz).
Çıkarttığımız klasörün içine girip bir terminal açıyoruz.
SDL'i yüklemeden önce SDL'in bağımlılıklarını yükleyeceğiz. Klasörün içinde README-linux.txt dosyası içerisinde bağımlılıkları tek seferde yükleyen aşağıdaki komut mevcut. Terminalde bu komutu çalıştırıyoruz.
sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev
Readme dosyasında yazmıyor; ama internette aşağıdakilerin de yüklenmesi gerektiğini yazmışlar. İleride yüklemek isteyebileceğimiz extension kütüphaneleri için gerekli olabilir. Örneğin zlib ve libpng12-dev, az sonra png desteği için yükleyeceğimiz SDL_image için gerekli.
sudo apt install xorg-dev libudev-dev libts-dev libglu1-mesa-dev libopenal-dev libogg-dev libvorbis-dev libaudiofile-dev libfreetype6-dev libusb-dev libdbus-1-dev zlib1g-dev libdirectfb-dev libpng12-dev
Şimdi kodu derlemeden önce terminalden ./configure komutunu çalıştırıyoruz. Bu betik eksik bir şey varsa hata veriyor ve make komutunu çalıştırmadan önce bir kez hatasız çalışmış olması gerekiyor ( http://tr.wikipedia.org/wiki/Configure ). Yukarıdaki komutları çalıştırdıysak hata vermemesi lazım.
./configure
Daha sonra kodu derlemek için make komutunu çalıştırıyoruz.
make
Şimdi checkinstall programını yükleyip çalıştırıyoruz.
sudo apt-get install checkinstall
sudo checkinstall
Checkinstall kullanmak şart değil, ama make install yaptığımızda dosyalar sistemin her tarafına saçılıyor. Checkinstall bunların nerelere konulacağının kaydını tutuyor ki ileride temiz bir uninstall işlemi yapılabilsin. Bunun için .deb uzantılı paket yaratıyor.
Son olarak ldconfig çalıştırıyoruz.
sudo ldconfig
SDL'i yükledik. Aşağıdaki kodla test edelim. Önce kodun bulunduğu klasöre resim.bmp adlı bir resim koyuyoruz.
#include <SDL2/SDL.h>
const int WIDTH = 640;
const int HEIGHT = 480;
SDL_Window* window = NULL;
SDL_Surface* screen = NULL;
int main( int argc, char* args[] )
{
SDL_Init( SDL_INIT_VIDEO );
window = SDL_CreateWindow(
"Deneme",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
WIDTH,
HEIGHT,
SDL_WINDOW_SHOWN);
screen = SDL_GetWindowSurface( window );
SDL_Surface* image = NULL;
image = SDL_LoadBMP( "resim.bmp" );
SDL_Event e;
while(1==1){
SDL_BlitSurface( image, NULL, screen, NULL );
SDL_UpdateWindowSurface( window );
while (SDL_PollEvent(&e)) {
if (e.type == SDL_QUIT) {
SDL_FreeSurface( image );
SDL_DestroyWindow( window );
SDL_Quit();
return 0;
}
}
}
}
Kodu derlemek için:
gcc test.c -Wall -o test -lSDL2
SDL'i C++ ile kullanacaksak g++'ı kurmamız gerekiyor (Mint 17'de varsayılan olarak yok).
sudo apt-get g++
g++ test.c -Wall -o test -lSDL2
Kaynak:
http://nothingtocode.blogspot.com.tr/2013/07/setting-up-sdl2-in-ubuntu-or-linux-mint.html
SDL_image kütüphanesinin kurulumu
SDL, default olarak png, jpg gibi resim formatlarını desteklemiyor. Bunun için SDL_image yüklememiz gerekiyor. SDL'i kurabildiysek SDL_image yüklemek artık kolay. Aynı şeyleri yapıyoruz.
Bağımlılıkları yukarıda zaten yüklemiştik (daha fazlası: http://www.libsdl.org/projects/SDL_image/docs/SDL_image.html).
Kütüphaneyi buradan indirdikten sonra unzip'leyip klasörün içine giriyoruz. Terminal açıp sırasıyla aşağıdaki komutları çalıştırıyoruz.
./configure
make
sudo checkinstall
sudo ldconfig
SDL_image'ı test etmek için önceki yazımdaki kodu kullanabilirsiniz. Derlemek için:
g++ test.cpp -Wall -o 01_hello_SDL -lSDL2 -lSDL2_image
Eclipse ayarı
Eclipse'te C, C++ geliştirmek için
- Eclipse.org'daki C/C++ için hazırlanmış Eclipse paketini indirebiliriz.
- Kullandığımız Eclipse versiyonuna CDT eklentisi kurabiliriz.
- Software Manager'dan önce eclipse, sonra eclipse cdt'yi tek tıklamayla yükleyebiliriz. Bunlar derleyicisiz geliyor, g++'ı da yüklüyoruz.
Eclipse'i açıp Yeni C/C++ projesini oluşturuyoruz.
Project Explorer'da projenin üzerine sağ tıkladıktan sonra Properties -> C/C++ Build -> Settings -> Linker -> Libraries
Sağ üstte açılan Libraries (-l) pencereciğinin başlığındaki küçük yeşil artı işaretine basarak ayrı ayrı SDL2 ve SDL2_image yazıp ekledikten sonra önce Apply, sonra OK'e basıp pencereyi kapatıyoruz.
gcc veya g++ komutunda -l ile yadığımız dinamik bağlama parametrelerini buraya girmiş oluyoruz.
Yeni başlayanlar için bağlantılar
http://lazyfoo.net/tutorials/SDL/index.php
http://wiki.libsdl.org/Tutorials
http://wiki.libsdl.org/APIByCategory