Posted by & filed under mac, programming.


Mac OS Xでは,Developer Toolsをインストールすると,OpenGLやGLUTのライブラリも一緒にインストールされる.

これを使ってプログラミングするには,ヘッダファイルをincludeする必要があるが,WindowsやLinuxでは

#include <GL/glut.h>

のところを,Mac OS Xでは,

#include <GLUT/glut.h>

にしなければならない.そうしたくない場合は,/usr/local/include へ自分でglut.hのシンボリックリンクを作成する.

$ sudo mkdir /usr/local/include/GL
$ sudo ln -s /System/Library/Frameworks/GLUT.framework/Versions/A/Headers/glut.h /usr/local/include/GL/

こうすると,LinuxやWindowsと同じようにincludeすることが出来る.

コンパイルにはgccを使うが,その際GLUTとOpenGLのframeworkをそれぞれ指定して行う.

$ gcc -framework OpenGL -framework GLUT hogehoge.c

通常はこれで大丈夫だが,せっかくXcodeという便利なツールがあるので,使ってみることにした.

まずは,Xcodeでプロジェクトを作成する.Empty Project

テンプレートは”空のプロジェクト”を選択し,適当な名前を付けて作成する.

.

次に,ターゲットを作成する.

New Target

テンプレートにはCocoaのApplicationを選択し,適当な名前をつけて作成.Cocoa Application Target

.

ここで作成したターゲットにフレームワークとソースファイルを追加してビルドすることになるが,それらを追加する前にしておく事がある.

これをしておかないと,エラーが出てビルドできない.

build error

.

しておく事というのは,ビルドの設定変更.

GCC_PREFIX_HEADERターゲットのテンプレートにCocoa Applicationを指定しているため,はじめからGCC_PREFIX_HEADERが設定されていて,それがビルド時のエラーの原因となる.

作成したターゲットを右クリックし,”情報を見る”→”ビルド”から,これを空欄にしておく.

最初設定してなくてしばらく悩んだ.

.

最後にフレームワークを追加する.

Add Framework

一覧の中から,”GLUT.framework”と”OpenGL.framework”を選択して追加する.

これで環境の構築は完了しているので,あとはターゲットに新規ファイルとしてソースファイルを追加し,プログラムを組んでビルドするだけ.

target tree→きちんとターゲットにソースファイルとフレームワークが関連づけられていれば,プロジェクトのツリーはこんな感じになってる筈.

.

[参考] OneSadCookie: Xcode/GLUT Tutorial