[title = GP2X Yazılım Geliştirme]Bu yazıda kendi tecrübelerim ve nette bulduklarım ile GP2X için geliştirme ortamı nasıl kurulur onu anlatacağım. GP2X nedir bilmiyorsanız [url = www.gp2x.com]www.gp2xtr.com[/url] adresine bakın.

[b]Windows için:[/b]

Adım adım gideceğiz. Anlattıklarım herhangi bir IDE'ye göre olmayacak. Sadece derleyici ortamını bilgisayarınıza kurmanıza yarayacak, daha sonra istediğiniz editörü kullanabilirsiniz kod yazmak için. Derlemek için ise komut satırını kullanabilirsiniz. Makefile nedir biliyor olmak oldukça işinize yarayacaktır.

1-) [url = http://www.thrill-project.com/gp2xdev/gp2x_devpack_1203.zip]Bu[/url] linkteki dosyayı indirin. İçinden çıkan devkitGP2X klasörünü hard diskinize kopyalayın. Ben anlatırken c:\ altına kopyaladığınızı varsayarak devam edeceğim. Başka bir
yere koyduysanız gerekli düzenlemeleri yapmayı unutmayın.

2-) devkitGP2X klasörünü c:\ altına kopyaladıktan sonra sıra doğru düzgün çalışan library'leri indirmeye geldi. İsteyen bunları indirmek yerine gidip kendisi de derleyebilir ama ben derlemek ile uğraşmak yerine derlenmiş olan hazır libraryleri kullanacağım. Aşağıdaki linkten ulaşacağınız sayfada download linkine tıklayarak gerekli dosyayı indirin.
[url = http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,19,1207]Link[/url]
Dosyayı indirdikten sonra sıkıştırılmış dosyayı geçici bir klasöre açın. Opt klasörü altındaki klasörleri kopyalayıp c:\devkitGP2X klasörü altına kopyalayın. Aynı dosya varsa üzerine yazın.

3-) Son adımda Bilgisayarım simgesine sağ tıklayın ve özellikler seçeneğini seçin. Gelişmiş tabını açarak ortam değişkenleri butonuna basın. Path adlı değişkeni bulup düzenle butonuna basın. Değişken değeri metin kutusunun en
sonuna ;c:\devkitGP2X\bin;c:\devkitGP2x\minsys\bin yazın.

4-) Eğer sisteminizde Dev-Cpp yüklü ise ikisi çakışabiliyor. O yüzden devkitGP2X ile derleme yapacağınız zaman path değerinden Dev-Cpp'ye ait değerleri silin. Dev-Cpp'yi kullanacağınız zamanda tam tersi olaran ;c:\dev-cpp\bin satırını ekleyip devkitGP2X'e ait değerleri sileceksiniz.

5-) Bu noktaya geldiyseniz GP2X için kullanacağımız gcc arm derleyicisini düzgün bir şekilde kurdunuz demektir. Kodunuzu yazın, makefile'ınızı hazırlayın ve derleyin.

Yukarıda anlattığım yöntem bende bizzat çalışmıştır. Makefile hazırlamak konusunda sorun yaşayanlar için aşağıya örnek bir makefile dosyası koyacağım. Onu kendi projelerinize uyarlayabilirsiniz.

[b]Makefile:[/b]
[code]
CROSS_COMPILE = C:/devkitGP2X/bin/arm-linux-
SDL_BASE = C:/devkitGP2X/bin/arm-linux-
LDFLAGS = -static

CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++
STRIP = $(CROSS_COMPILE)strip

CFLAGS = `$(SDL_BASE)sdl-config --cflags` -O2 -Wall
CXXFLAGS = `$(SDL_BASE)sdl-config --cflags` -O2 -Wall
LIBS = `$(SDL_BASE)sdl-config  --libs`

SDLTEST_TARGET = test.gpe
SDLTEST_OBJS = main.o

all : $(SDLTEST_TARGET)

$(SDLTEST_TARGET) : $(SDLTEST_OBJS)
       $(CXX) $(LDFLAGS) -o $(SDLTEST_TARGET) $(SDLTEST_OBJS) $(LIBS)
       $(STRIP) $(SDLTEST_TARGET)

clean:
       rm -f $(ALL_TARGETS) *.o *~

[/code]
                   ---------------------------------------

[b]Linux için:[/b]

Linux'ta kurulum için size kolaylık sağlamak amacıyla hazırlanmış iki adet script var. Bu scriptler sırasıyla önce gerekli dosyaları bilgisayarınıza indirir sonra ise derleyerek kullanıma hazır hale getirir.

Bu scriptlerden ilki devkitGP2X adlı script. İndirmek için aşağıdaki linki kullanın.
[url = http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,1,0,0,14,1040]Link[/url]
Bu script ile bilgisayarınıza ihtiyaç duyduğunuz derleyici ortamı kurulacaktır. Ama sadece derleyiciyi kuracaktık. SDL kütüphaneleri gibi diğer kütüphaneleri sizin kurmanız gerekmektedir.

Diğer script'in adı GP2XDEV. [url = http://www.oopo.net/consoledev/]Bu[/url] linkten ulaşacağınız sayfanın en altında indirmek için bir link bulacaksınız. Bu script derleyici ortamı ile beraber zlib-1.2.3, jpeg-6b, libpng-1.2.8, freetype-2.1.10, mikmod-3.1.11, libogg-1.1.3, libvorbis-1.1.2, SDL-1.2.9-paeryn, SDL_image-1.2.4, SDL_ttf-2.0.7, smpeg-0.4.4 ve SDL_mixer-1.2.6 kütüphanelerini de yükleyecektir. Çalışma sistemi yine aynıdır. Gerekli dosyaları indirip sizin sisteminizde derler.

                   ---------------------------------------

[b]Mac için:[/b]

Mac'te işler oldukça kolay. Aşağıdaki linkten ulaşacağınız dosyayı indirip bilgisayarınıza kurun yeter. Herşey hazır olacak.
[url = http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,14,885]Link[/url]
Eğer SDL kütüphanesini kullanmak istiyorsanız aşağıdaki linkteki dosyayı indirip
/opt klasörü içine kurmanız yeter.
[url = http://gp2x.org/gp2x/libs]Link[/url]

[b]Kullananız için örnek bir makefile dosyası:[/b]
[code]
CROSS_COMPILE=/opt/local/devkitpro/devkitGP2X/bin/arm-linux-
SDL_BASE=/opt/local/gp2x/bin/arm-open2x-linux-
LDFLAGS=-static

CC=$(CROSS_COMPILE)gcc
CXX=$(CROSS_COMPILE)g++
STRIP=$(CROSS_COMPILE)strip

CFLAGS=`$(SDL_BASE)sdl-config --cflags` -O2 -Wall -Werror
CXXFLAGS=`$(SDL_BASE)sdl-config --cflags` -O2 -Wall -Werror
LIBS=`$(SDL_BASE)sdl-config --libs`

TARGET=helloworld.gpe
OBJS=helloworld.c

ALL_TARGETS=$(TARGET)

all: $(ALL_TARGETS)


$(TARGET): $(OBJS)
       $(CC) $(LDFLAGS) -o $(TARGET) $(OBJS) $(LIBS) $(CFLAGS)
       $(STRIP) $(TARGET)

clean:
       rm *.o $(TARGET)[/code]


                   ---------------------------------------

[b]LiveCD ile:[/b]

GP2niX slackware tabanlı bir Linux Live CD dağıtımıdır. İçinde GP2X için program geliştirmeye başlamanızı sağlayacak GP2X/ARM toolchain'i ve önceden derlenmiş kütüphane dosyaları bulunmaktadır. Linki aşağıdadır. 
[url = https://sourceforge.net/projects/gp2nix/]Link[/url]

[b]Sistem ihtiyaçları:[/b]
* 5x86/6x86 processor or better
* 256 - 512 MB RAM (Bu önemli çünkü geliştirme ortamı hafızada tutuluyor)
* CD-ROM
* USB memory stick , projeleri/çalışmaları kaydetmek için

[b]Özellikleri:[/b]
* Slackware 10.2 Base System
* Xorg X-Windowing System
   o Fluxbox
   o GTK+2 GUI Library (no glib(1/2) or GTK+)
* GUI Code Editor with Syntax Highlighting (SciTE Editor)
* x86 and ARM Development Environment including:
   o GCC 4
   o glibc 2.3.5
   o Make / Binutils
* ARM/GP2X libraries
   o SDL (with HW Acceleration)
   o SDL_mixer
   o SDL_image
   o SDL_gfx
   o libogg
   o libvorbis
   o smpeg
   o zlib