「OpenNI」やるって言ってたのに、手を抜いて「ofxOpenNI」を最初にやってしまったので、
こちらもちゃんとやったぞ!って事でちゃんと書かないとね。
でもね、でもね・・・
「OpenNIをOpenframeworksで使う」
http://blog.hi-farm.net/2011/12/24/openniをopenframeworksで使う/
を参照すればOK。もうなーんてこたぁーない 😀
ただし自分自身の確認とメモのため記述しておきます。
ちなみにMacで試しているのでご注意を 🙂
前回の記事でダウンロードした「OpenFrameworks」を使用する。
今回使用したバージョンは「of_preRelease_v007_osx」というやつ。
# 注意点として「XCodeは4.1」で実行。
さらに「PROJECT/TARGETS」の「Build Setting > Base SDK」を「10.6」にしておく
(4.2だと動かなかったので、もうちょい検証が必要。
今後アップデートで対応って本家サイトに書いてあったのでひとまず放置)
# 4.2でもちゃんと動いてた・・・gccがエラってたんだけど大丈夫だった。
使用する「OpenNI」はこちらでインストールしたものを使用する。
大まかな流れは・・・
—
1. OpenFreamworksへ自分のアプリディレクトリの作成
2. アプリディレクトリへ空のプロジェクトをコピー
3. コピーしたプロジェクトへ「OpenNI」ディレクトリの作成
4. 「3」で作成したディレクトリへ「OpenNIライブラリ」の必要なファイルをコピー
5. Xcodeでパスの設定を行う
6. Xcodeで実際にOpenNIのファイルをincludeしてテスト
—
となる。
では上から順番に設定していく。
1. OpenFreamworksへ自分のアプリディレクトリの作成
Openframeworksの作法として「/of_preRelease_v007_osx/apps」以下へ、
自分のアプリディレクトリを作成する。というのがあるようなので、今回は「myApps」という
ディレクトリを作成してみた。
of_preRelease_v007_osx
|— addons
|— apps
| |— addonsExamples
| |— examples
| |— myApps // create dir
|— libs
|— reademe.osx
実行コマンドは下記
1
2
| $ cd ~/Desktop/of_preRelease_v007_osx/apps
$ mkdir myApps |
$ cd ~/Desktop/of_preRelease_v007_osx/apps
$ mkdir myApps
2. アプリディレクトリへ空のプロジェクトをコピー
「1」で作成した「myApps」の直下へ「/of_preRelease_v007_osx/apps/examples/emptyExample」を
コピーして配置する
of_preRelease_v007_osx
|— addons
|— apps
| |— addonsExamples
| |— examples
| |— myApps
| |— emptyExample // copy dir
|— libs
|— reademe.osx
実行コマンドは下記
1
2
| $ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps
$ cp -r ../examples/emptyExample ./ |
$ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps
$ cp -r ../examples/emptyExample ./
3. コピーしたプロジェクトへ「OpenNI」ディレクトリの作成
「2」で追加したディレクトリ「emptyExample」の直下へ「OpenNI」という
ディレクトリを作成する
of_preRelease_v007_osx
|— addons
|— apps
| |— addonsExamples
| |— examples
| |— myApps
| |— emptyExample
| |— bin
| |— emptyExample.xcodeproj
| |— openFrameworks-Info.plist
| |— OpenNI // create dir
| |— Project.xcconfig
| |— src
|— libs
|— reademe.osx
実行コマンドは下記
1
2
| $ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps/emptyExample
$ mkdir OpenNI |
$ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps/emptyExample
$ mkdir OpenNI
4. 「3」で作成したディレクトリへ「OpenNIライブラリ」の必要なファイルをコピー
以前、インストールした「OpenNI」のディレクトリ内にある「Include」「Lib」という
ディレクトリがあるのでこちらを「3」で追加したディレクトリ「OpenNI」ヘ丸っとコピーする
of_preRelease_v007_osx
|— addons
|— apps
| |— addonsExamples
| |— examples
| |— myApps
| |— emptyExample
| |— bin
| |— emptyExample.xcodeproj
| |— openFrameworks-Info.plist
| |— OpenNI
| |— Include // copy dir
| |— Lib // copy dir
| |— Project.xcconfig
| |— src
|— libs
|— reademe.osx
実行コマンドは下記
1
2
3
| $ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps/emptyExample/OpenNI
$ cp -r /usr/local/src/OpenNI-Bin-Dev-MacOSX-v1.5.2.7/Include ./
$ cp -r /usr/local/src/OpenNI-Bin-Dev-MacOSX-v1.5.2.7/Lib ./ |
$ cd ~/Desktop/of_preRelease_v007_osx/apps/myApps/emptyExample/OpenNI
$ cp -r /usr/local/src/OpenNI-Bin-Dev-MacOSX-v1.5.2.7/Include ./
$ cp -r /usr/local/src/OpenNI-Bin-Dev-MacOSX-v1.5.2.7/Lib ./
# 注意点として、「OpenNI-Bin-Dev-MacOSX-v1.5.2.7」は自分で落としたディレクトリ名へと
置き換えて実行してください。でないと「ディレクトリが存在しないよ」って怒られる。
5. Xcodeでパスの設定を行う
Xcodeで今回追加したプロジェクトファイルを開く。
次にプロジェクトにヘッダー参照パスとライブラリパスの設定する。
プロジェクト設定の 「Build Settings > Search Paths」の
「Header Search Paths」に以下を設定します。
1
| $(SRCROOT)/OpenNI/Include |
$(SRCROOT)/OpenNI/Include
Library Search Pathsに以下を設定します。
# $(SRCROOT)は自分のパスを確認しておくこと。
6. Xcodeで実際にOpenNIのファイルをincludeしてテスト
「/of_preRelease_v007_osx/apps/myApps/emptyExample/emptyExample.xcodeproj」を開く。
「src」にある「testApp.h」へ「#include “XnCppWrapper.h”」を追記する。
例:
1
2
3
| #pragma once
#include "ofMain.h"
#include "XnCppWrapper.h" // add |
#pragma once
#include "ofMain.h"
#include "XnCppWrapper.h" // add
上記で問題無くビルド出来たらOpenNIの準備は完了。
# ちなみにビルドすると、「Semantic Issue」というエラーが大量に発生するが、
原因は「includeを多重に行っているから」らしい。ライブラリ依存って事で今回はスルーします。
これで「Openframeworks+OpenNI」の準備が整った。
次は「OpenNI」のサンプルソースを動作させてテストする。
参考サイトURL
OpenNIをOpenframeworksで使う
http://blog.hi-farm.net/2011/12/24/openniをopenframeworksで使う/
ここのサンプルソースを「testApp.h」「testApp.cpp」へ追記してビルド。
これで環境の作成は完了。後は実装とエラーを取らないとな・・・・。
他、参考サイト:
http://d.hatena.ne.jp/hagino_3000/