2010年11月10日水曜日

【ODE】【Eclipse】【Mac】ODE を使用したシミュレータの開発

もうタグ多すぎ・・・

EclipseでのC++の設定と,ODEのインストールが済んだら,プログラムの作成をする.

Eclipse のファイルエクスプローラ上で New Project を選択し,新しいプログラムを作成する.この際,ファイルエクスプローラを 右クリック > New > Project を選択することにより,プロジェクトが作成できる.プロジェクトは下部のリストから C / C++ > C++ Project を選択し,Next をクリック.次のダイアログに移動する.
2ページ目のダイアログでは,上部の Project Name: のところにプロジェクト名を入力する.適当な名前を入力するとよい.その後,下のリストから下の方にある Makefile Project > Hello World C++ Project を選択し,終了する.これにより,空のプログラムとメイクファイルを使用したプロジェクトができる.

ODE のインストールしたディレクトリが / ディレクトリにおいてあるものとし,以下のメイクファイルを用いることにより,ビルドができるようになる.依存関係のファイルを保存するためにプロジェクトのルートディレクトリに deps というフォルダを作っておく.

なお,1行目の Project_Name には設定したプロジェクト名(メインのプログラムファイルになっているはず)を入力.2行目の Added_ProgramN には,プロジェクトにプログラムのファイルを追加した場合は,入力..o をつける.

10 / 11 / 2010 追記
実行時に
Launch failed. Binary not found.
とダイアログが表示されて,実行できない場合は実行の設定をする.

1.プロジェクトのフォルダを右クリックして,Proparties を選択.
2.左の一覧から,Run / Debug Settings を選び,右の New を選びダイアログを表示させる.
3.C / C++ Application を選んだ上で,C / C++ Application: の欄に Browse.. からワークスペース内の実行ファイルを選択する.

これでRunをクリックするだけで実行されるはず.

*** 以下,Makefile 例 ***

PROG = Project_Name
OBJ = Added_Program1.o Added_Program2.o ...

CC = g++-4.2
SRC = /ode/ode/src
_PRG_INCLUDE = ./include
PRG_INCLUDE = ../include
ODE_INCLUDE = /ode/include
#DRAWSTUFF = "\"/ode/drawstuff/textures\"" 
DRAWSTUFF = /ode/drawstuff/textures
LIBTOOL = /ode/libtool
LIBDRAWSTUFF = /ode/drawstuff/src/libdrawstuff.la
LIBODE = /ode/ode/src/libode.la
LIBDRAWSTUFFa = /ode/drawstuff/src/.libs/libdrawstuff.a
LIBODEa = /ode/ode/src/.libs/libode.a

DTP = -DDRAWSTUFF_TEXTURE_PATH=$(DRAWSTUFF)
FRAMEWORKS = -framework OpenGL -framework GLUT

.SUFFIXES: .cpp .o

all: $(OBJ)
$(CC) -DHAVE_CONFIG_H -I. -I$(SRC) -I$(_PRG_INCLUDE) -I$(PRG_INCLUDE) -I$(ODE_INCLUDE) $(DPT) -DdTRIMESH_ENABLED -DdDOUBLE  -g -O2 -MT $(PROG).o -MD -MP -MF deps/$(PROG).Tpo -c -o $(PROG).o $(PROG).cpp
mv -f deps/$(PROG).Tpo deps/$(PROG).Po
/bin/sh $(LIBTOOL) --tag=CXX --mode=link g++ -g -O2 -o $(PROG) $(PROG).o $(OBJ) $(LIBDRAWSTUFF) $(LIBODE) $(FRAMEWORKS)  -lm  -lpthread
$(CC) -g -O2 -o $(PROG) $(PROG).o $(OBJ) $(FRAMEWORKS) -Wl,-bind_at_load $(LIBDRAWSTUFFa) $(LIBODEa) -lm -lpthread

.cpp.o:
$(CC) -DHAVE_CONFIG_H -I. -I$(SRC) -I$(_PRG_INCLUDE) -I$(PRG_INCLUDE) -I$(ODE_INCLUDE) $(DPT) -DdTRIMESH_ENABLED -DdDOUBLE  -g -O2 -MD -MP -MF deps/$*.Tpo -c -o $@ $<
mv -f deps/$*.Tpo deps/$*.Po

clean:
rm *~ *.o *.tmp $(PROG)

0 件のコメント:

コメントを投稿