macでOpenNIのサンプルをビルドする

概要

blogを書くのも随分久しぶりです。就職してからは初では無かろうか? まあそれはともかく。
今回はmackinectプログラミングをすべくXcode4+OpenNIの導入を行った為、その方法をまとめます。

参考
http://www.kinect-wiki.info/OpenNI-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#Mac_OS_X
Protected Blog › Log in

1.Xcode4のインストール

一応紹介。Xcode4はMacAppStoreよりDL, インストールできます。
http://itunes.apple.com/us/app/xcode/id448457090?mt=12

2.OpenNI+NITE+kinectドライバのインストール

今回はこちらを利用させて頂きました。
http://www.kinect-wiki.info/OpenNI-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#Mac_OS_X
同じ内容を書いても仕方ないので、詳しくはリンク先を参照して下さい。

3.サンプルのビルド

本エントリの主題です。
Web上にはXcode3を前提とした情報が多く、以外と手間取ったのですが、こちらのエントリがXcode4での場合を解説をされています。
Protected Blog › Log in

今回はサンプルの中から、"NiSimpleViewer"をビルドする場合を説明します。

C++プロジェクトを作成する

まずは、C++プロジェクトを作成しましょう。ブランク又はコンソールアプリで良いと思います。
その後、NiSimpleViewerの内容をプロジェクトフォルダ内にコピー、Xcode上でプロジェクトに追加して下さい。

HeaderSearchPathの設定

以下を参考に、"Build Settings" の “Header Search Paths” に “/usr/include/ni” を設定します。
“Header Search Paths” の項目は検索で見つけると効率が良いでしょう。

ライブラリの読み込み

"NiSimpleViewer"のビルドには以下の三つのライブラリが必要です。

  1. libOpenNi.dylib
  2. OpenGL.framework
  3. GLUT.framework

まず "libOpenNi.dylib" は "/usr/lib" にあります。Finderで開き、プロジェクトにドラッグ&ドロップすれば良いでしょう。
続いて2,3のframeworkは "Build Phases" の "Link Binary With Libraries" より追加します。以下を参考にしてください。

実行ファイルの生成場所の設定と設定ファイルのコピー

ここまでの設定でビルドは可能ですが、実行するにはもう一手間必要です。
まずはXcodeが生成する実行ファイルの場所を設定します。Xcode > Preference > Location よりDerived Data の Advanced... を開きましょう。そして設定を"Locations Specified by Targets"としましょう。

これにより、プロジェクトフォルダ内にbuildというフォルダが生成され、そこに実行ファイルが作られます。

続いて、Samplesフォルダ内にある"Config/SamplesConfig.xml"を、buildと同じ階層にコピーします。

実行

以上で"NiSimpleViewer"のビルド、および実行が可能の、はずです。

ちなみにキーボードより、ESCで終了、1で重ね合わせ、2で深度、3でRGBです。