なんつーか、Mac で OpenGL プログラミングしよーとしたらあちこちずっこけた
雪豹になると、Xcode がおかしくなっちゃうみたいで、g++ を唱えられない*1。
で、前のエントリで直したどーにかしたわけだけど、秘境*2にディレクトリ作ったり、
お目当てのお宝*3から ln 使ってシンボリックリンク作ったり…
つーことで、やった操作は次の通り:
sudo mkdir /usr/local/include sudo mkdir /usr/local/include/GL sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/GLUT.framework/Versions/A/Headers/glut.h /usr/local/include/GL sudo mkdir /usr/local/include/OpenGL sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/gl.h /usr/local/include/OpenGL sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/glext.h /usr/local/include/OpenGL sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/glu.h /usr/local/include/OpenGL sudo mkdir /usr/local/lib sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/usr/lib/crt1.10.5.o /usr/local/lib sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/usr/lib/libgcc_s.10.5.dylib /usr/local/lib sudo ln -s /Xcode3.1.4/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++.6.0.4.dylib /usr/local/lib/libstdc++.dylib
多分、言い訳
gl.h, glext.h, glu.h が、OpenGL に入ってるのは、Mac 用の glut.h がそうなってる所為。
で、 local に入ってるのは…趣味だぜw
最後の 3 つのオブジェクトファイルや多分ダイナミックリンクライブラリは、g++ さんが是非ともとねだるので追加してやったもの。
あと、makefile も晒しとく:
cc = g++ cflags = -O2 -Wall -W -I"/usr/local/include" ld = g++ # crt0.10.5.o がないよ〜ってときはこれをいれとく。 #lflags = -L"/usr/local/lib" lflags = -framework GLUT -framework -OpenGL tmpdir = ./Debug outdir = $(tmpdir) src0 = testglut.cpp obj0 = $(tmpdir)/testglut.o objs = $(obj0) target = $(tmpdir)/testglut.app all: $(target) $(target): $(objs) $(ld) $(lflags) -o $@ $^ $(obj0): $(src0) $(cc) $(cflags) -c $< -o $@ clean: rm -v $(target) $(objs)