Mac で ODE (Open Dynamics Engine) を使う。

2014/11/30

ODE (Open Dynamics Engine) のライブラリをダウンロードしてサンプルをビルド・実行する手順。

  1. まず http://www.ode.org/ から最新の ode-0.13.tar.bz2 をダウンロード。
  2. 次に展開された ode-0.13 ディレクトリにて、INSTALL.txt の指示に沿ってインストールする。 ターミナルを起動して、以下のコマンドを順次実行する。
      $ ./configure
      $ make
      $ make install
      
    make で warning が出るし、make install では error も出るが、 ode/demo/ 以下にデモアプリ(exec)が出来ており実行できた。
  3. 次に、自作プログラムをコンパイル/リンクしてみる。 Mac で ode の自作プログラムをコンパイル/リンクする方法をネットで調べるといくつか出てくるが、 少し情報が古いようで OS X 10.9 (Mavericks) ではリンク時に library not found for -lX11 のエラーになる。 はまったが解決策は「X11 library は使わず、代わりに GLUT framework を使う」こと。
    以下のようなコマンドでコンパイル/リンクできた。 (自作プログラムは ode-0.13 と同じディレクトリに置く場合)
      g++ -I -O2 -Wall -g -c hello.cpp -I./ode-0.13/include -DdTRIMESH_ENABLED
      g++ -I -O2 -Wall -g -o hello hello.o -L./ode-0.13/ode/src/.libs -L./ode-0.13/drawstuff/src/.libs -lode -ldrawstuff -framework Carbon -framework AGL -framework OpenGL -framework GLUT
      
  4. 最後に Xcode でビルドできるようにしてみる。
    1. OS X Application - Command Line Tool としてプロジェクトを作成。
    2. プロジェクトに hello.cpp ファイルを追加。
    3. プロジェクトを下記のように設定。
      TARGETS - Build Settings - Search Paths - Header Search Paths
      ode-0.13/include
      TARGETS - Build Settings - Search Paths - Library Search Paths
      ode-0.13/ode/src/.libs
      ode-0.13/drawstuff/src/.libs
      TARGETS - Build Settings - Linking - Other Linker Flags
      -lode -ldrawstuff
      TARGETS - Build Phases - Link Binary with Libraries
      AGL.framework OpenGL.framework GLUT.framework


©