ofxOpenNIをMacOS10.10、Xode5.1.1でも動かす
MacOS10.9ではできてたのに、導入にかなり手間取ったのでメモ。
MacOS10.10 Yosemite
Xcode5.1.1
openFrameworks v0.8.0
もろもろのライブラリ?はHomebrewで導入
ターミナルに以下のコメントを入れて実行
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ここを参考にしながら諸ライブラリを導入
totakke/homebrew-openni · GitHub
brew tap homebrew/science
brew tap totakke/openni
brew install openni
brew install sensor
brew install nite
sensorを導入した時にsensor-kinectとのリンクを切れと言われる場合があるので、その時はターミナルに指定されているコマンドを入力して再度sensorを導入
リンクを切ったのちに以下のコマンドでsensor-kinectを導入
brew install sensor-kinect
終わったら、以下のコマンドでサンプルを実行
cd `brew --prefix`/share/openni/samples/Bin/x64-Release
./Sample-NiSimpleViewer
黄色い画面が出てくればクリア
さて次はopenFramework側。
ofxOpenNIはv1.0を使用
gameoverhack/ofxOpenNI at v1.0 · GitHub
ofxOpenNIを of(なんたら)/addons/に移動。
../addons/ofxOpenNI/mac/copy_to_data_openni_path/の中にある/lib/を以下にコピペ。
../addons/ofxOpenNI/example/openNI-demoAllFeatures/bin/data/openni/
exampleフォルダをof(なんたら)/apps/にコピペしopenNiSample007.xcodeprojを起動
Runするだけだとtr1とかリンカエラーが出る。
ここからがだいぶ時間がかかった…
まずは、Xcode上でopenNISample007のPROJECTをクリック
Info>Deployment TargetとBuild Settings>Architectures>Base SDKを10.8に。
同様にTARGETSの方も
General>Deployment TargetとBuild Setting>Architectures>Base SDKを10.8に。
最後に、of(なんたら)/apps/examples/openNI-demoAllFeatures/bin/data/openni/lib/に移動。
libOpenNI.dylibをXcode上のopenNISample007の下層(src,openFrameworksなどと同じ階層)にドラッグアンドドロップ。
Runすると動きました。
最後のやつはここを参照しました。
roymacdonald/ofxOpenNI · GitHub
今回はexampleを動かすことに専念したので、次はprojetGeneratorでプロジェクトを作った時にうまいことできるか試します。
ジェネレータを使った場合はlibとかincludeをaddons以下にドラッグアンドドロップしないといけないので、そこはここを参照してください。
ofxOpenNIでKinectを動かしてみる at kishi-r.com
ここも後で読も
ofxOpenNI getNumTrackedUsers return 0 - openFrameworks
_____________________________________________
翌日またエラーが!!
再度いろいろ試す。
最終的に再度以下のリンクを参考に解決?
Xcode5でCocoaPodsを追加したらLinker Errorが出た際の対処法 - Qiita
> Xcodeの左上にある、スキーマの選択画面から"Edit Scheme"を選択
> 設定画面が上から出てくるので、その画面の下部にある"Manage Scheme"を選択
> 最後に、自身のプロジェクトやPodsの共有をするために、一番右の欄の"Shared"をチェックして、OKボタンを押します。
> エラーが出たまま作業した場合は、Product > Cleanをしてから、ビルドしましょう。
一番最後のところが主に良かったのかな…?
また日を改めてちゃんと動くか確認しよう。