ということで2日目です。
昨日はコンパイル通ったところまで確認できたので、今日は実際に動かしてみましょう!
とはいえ何も参考にしないで書ける訳がないので、デモに入っているmain.cppを覗いてみます。
…なんかそのまま使えそうなので、使ってしまいましょう。
てい。
案の定、エラー出ませんでした。
引き続き、インクルードしているヘッダ(main.h、bunny/inc/bunny.h)をすべて追加すれば準備が完了です。
実行ファイルを作りましょう。
といってもNetBeansにお任せなので、必要なパスを通して依存関係書いておけばあとは勝手に…
はいエラーw
昨日の段階でコンパイルできてたってのは幻想だったんですねーwww
…やっぱりソースの修正は必要なようです。
エラー吐いたファイルはFingertipTracker.cppだそうなので、中を見てみましょう。
エラーの箇所はこんな感じでした。
684行目〜
772行目〜
goto文って使ってる人いたんだ、とか思いつつ、文法的には合ってるっぽいので何故にエラーが出たのかもよくわからず。
軽くぐぐってみると、どうもMac特有のエラーらしいので、goto文を使わないように修正します。
幸い、単純にエラー時の終了処理のためだけに使われているようなので、772行目以降のif文をメソッドに閉じ込めて、684行目のif文に入ったらそのメソッドを呼び出して即returnするようにしましょう。
ということで、修正後のコードは以下になります。
684行目〜
単にif文をメソッド化しただけ。
ということで再度ビルドしてみますが、今度はFingertipPoseEstimation.cppからエラー…
ただしこちらもgoto文関係のエラーなので、まずは関連しているラベルを確認。
209行目〜
…goto文をすべて消して、直後に全く同じreturn文を書くことで対処しました。
改めてビルドすると今度こそ…
成功!
無駄に長かったですねー…
昨日はコンパイル通ったところまで確認できたので、今日は実際に動かしてみましょう!
実行ファイル作成
とりあえずmain書かないとお話にならないので、まずはそこからいきます。とはいえ何も参考にしないで書ける訳がないので、デモに入っているmain.cppを覗いてみます。
…なんかそのまま使えそうなので、使ってしまいましょう。
てい。
案の定、エラー出ませんでした。
引き続き、インクルードしているヘッダ(main.h、bunny/inc/bunny.h)をすべて追加すれば準備が完了です。
実行ファイルを作りましょう。
といってもNetBeansにお任せなので、必要なパスを通して依存関係書いておけばあとは勝手に…
はいエラーw
昨日の段階でコンパイルできてたってのは幻想だったんですねーwww
…やっぱりソースの修正は必要なようです。
エラー吐いたファイルはFingertipTracker.cppだそうなので、中を見てみましょう。
エラーの箇所はこんな感じでした。
684行目〜
if ( nPoints < NUM_FINGERTIP )
{
_fDetected = false;
_nFingertips = 0;
_nPoints = 0;
goto Finished;
}
772行目〜
Finished:
//
// Update Mode
//
if ( _fDetected )
{
_nMode = MODE_FINGERTIP_TRACKING;
}
else
{
_nMode = MODE_FINGERTIP_LOST_TRACKING;
}
return _fDetected;
goto文って使ってる人いたんだ、とか思いつつ、文法的には合ってるっぽいので何故にエラーが出たのかもよくわからず。
軽くぐぐってみると、どうもMac特有のエラーらしいので、goto文を使わないように修正します。
幸い、単純にエラー時の終了処理のためだけに使われているようなので、772行目以降のif文をメソッドに閉じ込めて、684行目のif文に入ったらそのメソッドを呼び出して即returnするようにしましょう。
ということで、修正後のコードは以下になります。
684行目〜
if ( nPoints < NUM_FINGERTIP )
{
_fDetected = false;
_nFingertips = 0;
_nPoints = 0;
updateMode();
return _fDetected;
}
772行目〜 //
// Update Mode
//
updateMode();
return _fDetected;
どちらもupdateMode()というメソッドがいきなり出てきてますが、これは以下のように定義しています。void FingertipTracker::updateMode() {
if ( _fDetected )
{
_nMode = MODE_FINGERTIP_TRACKING;
}
else
{
_nMode = MODE_FINGERTIP_LOST_TRACKING;
}
}
ということで再度ビルドしてみますが、今度はFingertipPoseEstimation.cppからエラー…
ただしこちらもgoto文関係のエラーなので、まずは関連しているラベルを確認。
209行目〜
Finished:
return fResult;
…goto文をすべて消して、直後に全く同じreturn文を書くことで対処しました。
改めてビルドすると今度こそ…
成功!
無駄に長かったですねー…
実行してみる
はやる心を抑えつつ、早速実行してみます。
あ。
(ノ∀`)アチャー
ダメでした。
しかしエラーログ見る限り、必要なファイルが無いだけのようなので、これをプロジェクトルートに追加します。
一応、念のために必要そうなファイルはすべて追加しておきましょう。
気を取り直して再度実行します。
とりあえずエラーは出てませんし、カメラにもアクセスできている風なんですが、全然ウィンドウが表示される気配が無いです…
ということで、困ったときのアクティビティモニタ。
応答なしwww
こらダメだwwwww
中身に踏み込…もうとする
このままではどうしようもないので、頑張ってソースを読むことにします。
…が、今日は疲れたので明日の自分に期待!!
0 件のコメント:
コメントを投稿