robo8080のブログ

ロボット製作や電子工作など。

OpenNIをVisual C++ 2010 Expressでビルド&デバッグするまでの手順。

2010年12月11日 | OpenNI

【注意】以下の手順は、私が試行錯誤で調べたものを、参考のためにまとめたものです。
     間違い勘違い等があるかもしれませんので、その場合はご了承ください。
     また、もっと簡単な方法があるかもしれません。

1.開発環境
 OS:Windows XP
 使用言語:C++(Visual C++ 2010 Express)
 ベースソフト:OpenNI "OPENNI-Win32-1.0.0.23.exe"

 OpenNIのインストール方法は、いろいろな方がわかりやすく解説していますので省略します。
 また、Visual C++ 2010 Expressの使用方法もある程度知っているものとして説明します。
 わからない場合は、詳しく解説しているサイトがありますのでそちらを参照ください。

2.ソリューションファイルをVC++2010Expressで開く。
 以下のファイルをVC++2010Expressで開きます。
  "C:\Program Files\OpenNI\Samples\Build\All_2010.sln"

 プロジェクトを変換するかと聞いてきますので、変換します。

 以降、"NiSimpleViewer"プロジェクトをビルドする例を説明します。

3.プロジェクトをビルドしてみる。
 一度このまま"NiSimpleViewer"プロジェクトをビルドしてみます。

 

 するとこんなエラーが出ます。

 

 Professional版はここでエラーにならないと思いますので、次の"手順4"は不要のはずです。

4.エラーの原因になるファイルをプロジェクトから除外する。
 下図、赤枠の3つのファイルをプロジェクトから除外します。

 

 こんな感じです。
 ただし、これをやると実行ファイルのアイコンが無くなってしまいます。

 


 これで、正常にビルドが出来るようになるはずです。
 次にデバッグ出来るようにします。

5."NiSimpleViewer"プロジェクトを修正する。
 NiSimpleViewerプロジェクトのプロパティを開いて、"出力ディレクトリ"を下図赤枠のように修正します。

 


6."NiSimpleViewe.cpp"を修正する。
 NiSimpleViewe.cppを下図赤枠のように修正します。

 


 これでビルドすると、デバッガが使えるようになるはずです。

---以上---


12月10日(金)のつぶやき

2010年12月11日 | OpenNI
08:32 from ついっぷる/twipple
やはりOpenNI for win32だけでは動かないのか。avin2-SensorKinectとPrimeSense NITEも必要らしい。あとで試してみよう。 #OpenNI
18:42 from Twitpic
やっと、OpenNIが動いた。原因はドライバだ。一度でも"Libsub-Win32 devices"の"Xbox NUI XXX"をインストールしたことがある人は注意。ドライバインストール時にこちらを選択する。 #OpenNI


18:46 from web
そして、"Kinect Camera"と"Kinect Motor"をインストールする。 OpenKinectを使っていた人は注意。 #OpenNI #openkinect
20:18 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 何でしょう?わたしにわかる事なら。
20:27 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 Stickfigureは試してないのでよくわかりませんが、こちらを参考にさせてもらっては? http://bit.ly/hG3RGd
20:33 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 いずれやろうと思ってますが、まだやってません。
20:40 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 お力になれず済みませんでした。
20:59 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 原因を教えていただくと、他の困っている方の参考になると思いますよ。
21:09 from ついっぷる/twipple (Re: @mako_1004
@mako_1004 いえいえ、それだけでも困っている人にとっては重要な情報です。とりあえず動いてよかったですね。では。
by robo8080 on Twitter