以下、動作させた時のメモ。
【環境】
- MacBookPro Retina, Mid 2012 + osx(10.7.4 / Lion)
- Xtion Pro Live
- OpenNI2.2(Beta) + NiTE2.2(Beta)
- openFrameworks 0.8.0
【前提】
- openFrameworksは動作していること
- OpenNIとNiTEはダウンロード済みでサンプルデモが動作していること
【手順】
- openFrameworksのプロジェクトジェネレータで空のプロジェクトを作成。
- 新しいグループ、includeとlibsを作成
- 新しく作ったinculudeグループに${OpenNI2インストールディレクトリ}/Include以下の全ヘッダファイルをプロジェクトに追加。${NiTE2インストールディレクトリ}/include以下の全ヘッダファイルをプロジェクトに追加。
- 新しく作ったlibsグループに${OpenNI2インストールディレクトリ}/Redist以下の全ファイルを追加。${NiTE2インストールディレクトリ}/Redist以下の全ファイルをプロジェクトに追加。
- TARGETS -> Build Setting -> Search Paths -> Always Search User PathsをYesにする。
- TARGETS -> Build Phasesで Add Build Phase する。選択するのはAdd Copy Files。
- 追加したPhaseのDestinationを[ Executables ]にする。Subpathは空。ファイル一覧にOpenNI.ini,NiTE.ini,OpenNI2ディレクトリ,NiTE2ディレクトリを追加
- /usr/lib配下に${OpenNI2インストールディレクトリ}/Redist以下のダイナミックライブラリを全て移動。
- /usr/lib配下に${NiTE2インストールディレクトリ}/Redist以下のダイナミックライブラリを全て移動。
これでopenFrameworksからOpenNI2 SDKで用意されているAPIが叩けるようになった。
ただ手順の8〜9についてだけが実は今でも謎で、最初はCopy Filesにダイナミックライブラリとかも指定していたが、どうにも実行環境にコピーされないようで、実行する度に/usr/libにOpenNI2のライブラリがない、と怒られていた。
仕方なく/usr/libにライブラリを配置したら正しく動作した。
このやり方だと他の環境でOpenNI使った開発環境を作りたい時に上のような手順を踏まないといけないのがダサい。
個人的なopenFrameworksのaddonにしようと思っていたんで、うーん、って感じ。
一番の問題はxcodeへの理解不足なのは理解しているが。