2009年12月3日木曜日

MACでODEのdemoプログラムをコンパイルする

■ 参考サイト

■ 作業内容
1.適当な作業ディレクトリを作成する.

2.ODEのデモプログラムを作業ディレクトリにコピーする

3.ODEのデモプログラムと同じディレクトリにあるteturepath.hを作業ディレクトリにコピーする

4. texturepath.hにテクスチャを置いたディレクトリを指定しておく
#define DRAWSTUFF_TEXTURE_PATH "/usr/local/share/drawstuff/textures"

5.makefileを作成(sje2009を参考に自分のmac環境に合うように変更)
#---ここから

CC = g++ -I -O2 -Wall -g

TARGET = demo_plane2d

OBJS = $(TARGET).o

SOURCE = $(TARGET).cpp

HEADER = texturepath.h

LIBS = -L/usr/local/lib

#LIBS = -L/usr/local/lib -L/usr/X11R6/lib

INDS = -I. -I/usr/local/include -I/usr/X11R6/include

#OPTS = -lICE -lSM -lm -ldrawstuff -lX11 -lGL -lGLU -lpthread

# for OSX

OPTS = -lm -lode -ldrawstuff -framework OpenGL -framework Carbon -framework AGL -lpthread

#OPTS = -lm -lode -ldrawstuff -lX11 -framework OpenGL -framework Carbon -framework AGL -lpthread

ODE_LIBS = $(shell ode-config --libs)

ODE_INCLUDE = $(shell ode-config --cflags) -DdTRIMESH_ENABLED -DdDOUBLE


all:$(TARGET)

$(TARGET):$(OBJS) $(HEADER)

$(CC) -o $@ $(OBJS) $(LIBS) $(INDS) $(OPTS) $(ODE_LIBS)

$(OBJS):$(SOURCE) $(HEADER)

$(CC) -c $(SOURCE) $(LIBS) $(INDS) $(ODE_INCLUDE)

.PHONY: clean

clean:

rm $(TARGET) $(OBJS) *.*~ *~

#---ここまで


私のmac環境では,/usr/X11R6/lib/libGL.dylib が原因でエラーが発生するため,以下の項目を削除して使用


-L/usr/X11R6/lib/libGL.dylib

-lX11


OpenGL関連のエラーらしいがよくわからない・・・.