Uiw-tips

出典: YKAwiki

なんか2月になったのに何も変わらない もうヤダ。。。 →ソフトウェア班

目次

GP2X用のコンパイル環境

とりあえずWindows用の作り方

http://wiki.gp2x.org/wiki/Jp:Getting_started_with_GP2X_development
ここみれば書いてあるからそのとおりにすればいい
とりあえずA(手抜きしたい人向け)で十分な気がする
OpenCVとかガンガン動かすにはほかのでやらないといけないかもね

GP2X用のプログラムを作る

ツールだったらともかく普通のゲームだったら
基本的には普通のSDLを使ったプログラムを書けばいいはず
OpenGLについてはまだ試してないけど3Dグリグリやる必要ってあるかな?
で、ちょっとだけGP2X用に特別なことをしてやる必要があるけどwikiのデモプログラムを見ればたぶんわかるでしょう

http://wiki.gp2x.org/wiki/Source_code_to_a_Demo_Program コメントたっぷり(僕のソースとは大違い)だから特に説明も要らないよね

Makefileの書き方

とりあえずMakefileはタブをタブとして保存してくれるエディタを使って書こう
中には気を利かせてタブをn個のスペースに痴漢して保存してくれるエディタがある(らしい)けど
それは絶対に使ってはいけません

とりあえず必要最小限な説明

A(手抜きしたい人向け)についてきたdemoについてきたMakefileからの引用

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 -Werror
CXXFLAGS = `$(SDL_BASE)sdl-config --cflags` -O2 -Wall -Werror
LIBS = `$(SDL_BASE)sdl-config --libs`
SDLTEST_TARGET = demo.gpe
SDLTEST_OBJS = demo.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 *~
自作したプログラムに使われるファイルが
hoge.cpp
piyo.cpp
完成すべきプログラムのタイトルがfoobarだとしたら(別にhogeやpiyoなどCのファイルとかぶっても問題ない)
上のMakefileの11,12行目を
SDLTEST_TARGET = foobar.gpe
SDLTEST_OBJS = hoge.o piyo.o
と書き換えればうまくいくはず

とりあえずgccに-Wallと-Werrorの2つのオプションがついているせいでどんな細かいミスでも
コンパイルさせてくれないので(普通はWarningですむのにWarningもerrorとみなされる)
まあエラーをはいてコンパイルに失敗したら行番号も表示されるのでおとなしく直していこう