• 締切済み

OpenCVでml.hにエラーが・・・

当方の環境は、Visual Studio 2005 Professsional Edition、OpenCV1.0です。 OpenCVで、SVMに挑戦しようと試しにOpenCVリファレンスにあるSVMのサンプルプログラムを動かそうとしたところ、 ml.h(75) : error C2061: 構文エラー : 識別子 'CvVector' を筆頭に、100以上のエラーがml.h内で発見されました。 リンカにml.dllを登録し忘れたのかと思い確認してみましたが、 プロジェクトのプロパティの追加の依存ファイルにml.libは登録されていました。 mlsvm.cppのエラー箇所を修正してopencv.slnをリビルドし直したのが原因かとも思い、OpenCVを再インストールし直した状態で試しても同じエラーが出ました・・・ 原因としては何が考えられますでしょうか。 回答の程よろしくお願いいたします。

みんなの回答

  • schimatk
  • ベストアンサー率100% (1/1)
回答No.2

C言語のプロジェクトでビルドしようとすると、同じ現象を確認できました。 (例えば hoge.c という自分のプログラムからmlを使う場合) mlはC++でしか使えないので、C++から使うようにしてみてください。(hoge.cpp から使う) なおCvVectorsのエラーを突破するだけであれば、 CvVectors* next; のような記述を struct CvVectors* next; と変えていけば、そこだけはやり過ごせます。ほかのところで結局ダメになりますが。

回答No.1

単にネームスペースの指定が足らないだけでは? OpenCV::CvVector

dml
質問者

お礼

どうもbluecampus様、ご回答いただきありがとうございます。 ml.hの75行目のCvVectors* next;の部分をOpenCV::CvVector* next; という風に書き換えないとならないという事でしょうか? 配布されたままの状態でも、mlsvm.cppを修正した後にopencv.slnをビルドした後でも同じエラーが起こるので、 プロジェクトやStudio2005の設定に問題があるのではないかと思っているのですが・・・ プログラム本文を、ヘッダーとライブラリの読み込みだけにして、main内を関数の宣言の最低限にしてみても同じエラーが起こってしまっています。 ml.h内も修正が必要な箇所があるのでしょうか?

関連するQ&A