- ベストアンサー
#include _cv.hの設定方法を教えてください
- VisualStudioC++2010を使用して、#include _cv.hを追加したいがエラーが発生する。
- エラーメッセージ:構文エラー : ';' が、識別子 'icvDepthToDataType' の前に必要です。
- 求めている方に設定方法を教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
何をコンパイルしようとしているのですか? srcの下にあるのファイルだったら、OpenCVをソースからビルドするときに使うファイルだと思われます。 (コンパイル済みのライブラリを使うだけの)一般の利用者が直接_cv.hを使う必要は無いはずです。 あなたの作ったプログラムに#include "_cv.h"とあるなら、それが間違いです。 OpenCV自体のビルドなら、サイト等にビルドのしかたが書いてあります。 includeパスなども自動で設定されるし、オプション等も正しく設定されるので、よほどのことが無いかぎりエラーにはなりません。 失敗するのは、やるべき過程をやっていないのが原因と思われます。 > 1>C:\Program Files\OpenCV\cv\src\_cv.h(84): error C2146: 構文エラー : ';' が、識別子 'icvDepthToDataType' の前に必要です このような感じでエラーが出ている、ということは、ファイルは見つかっている、ということで。そうでなければ「ファイルが見つからない」旨のエラーになりますから。
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
こういうライブラリは、複数のファイルを組み合わせるようになっているのが普通です。 単純にソース一つ持ってくれば動く、というものではありません。 エラーメッセージからして、おそらく、これより前に、icvDepthToDataType 、CvDataType という辺りの定義がされているべきなのに、そうなっていない、というのが原因だと思われます。 これらが何なのか、詳細は調べてません。 どこかのヘッダファイルに書いてあるかもしれないし、追加で別のソースが必要かもしれない。 プリプロセッサの設定でマクロを追加しないといけないかもしれない。 順に解析していって、動作するところまで行けるのなら今の方法でいいかもしれませんが、今のあなたではおそらく無理です。一つ解決すると今度は別のエラーがでて、それを解析して対策すると更に別なエラーが出て....をしばらく繰り返すことになります。 今のあなたにもできそうな方法は「私家版OpenCV」をビルドする方法です。 やりかたは (1)公式のソースに変更を加える (2)公式のビルド方法に乗っ取ってビルドする
補足
コメントありがとうございます。 実は、C:\Program Files (x86)\OpenCV\cv\src以下にあるcvsnakes.cpp(輪郭線追跡関数cvsnakesImage)を改良することを考えています。 (1)VisualStudioC++2010でプロジェクトを作り、ここにcvsnakes.cppを置いて、cvsnakes.cppを改良する。 (2)サンプルコード(http://opencv.jp/sample/object_tracking.html)も用いて、輪郭線追跡をすることを考えています。 (3)つまりサンプルコードの中の関数cvsnakesImageを改良して、輪郭線追跡を行いたいのです。