1

Windows x64 および Netbeans に openCV 2.4.2 をインストールしようとしています。次のガイドに従っています: http://projectsfromhellandmore.blogspot.co.nz/2012/06/opencv-241-netbeans-windows-7-plus.html

ガイドに含まれているサンプル コードをコンパイルしようとすると、ファイル「include/opencv2/core/operations.hpp」の次のコード ブロックで次のエラーが発生します。修正方法が見つからないか、修正方法がわかりません。それは自分自身:

template<typename _Tp, typename _Base> inline void AlgorithmInfo::addParam(Algorithm& algo, const char* parameter,
              Ptr<_Tp>& value, bool readOnly, Ptr<_Tp> (Algorithm::*getter)(), void (Algorithm::*setter)(const Ptr<_Tp>&),
              const string& help)
{
//TODO: static assert: _Tp inherits from _Base
addParam_(algo, parameter, ParamType<_Base>::type, &value, readOnly,
          (Algorithm::Getter)getter, (Algorithm::Setter)setter, help);
}

エラー: 2 つのテンプレート パラメータを取得しましたが、1 つが必要です

エラーのある 2 番目のコード ブロックは次のとおりです。

template<typename _Tp> inline void AlgorithmInfo::addParam(Algorithm& algo, const char* parameter,
              Ptr<_Tp>& value, bool readOnly, Ptr<_Tp> (Algorithm::*getter)(), void (Algorithm::*setter)(const Ptr<_Tp>&),
              const string& help)
{
//TODO: static assert: _Tp inherits from Algorithm
addParam_(algo, parameter, ParamType<Algorithm>::type, &value, readOnly,
          (Algorithm::Getter)getter, (Algorithm::Setter)setter, help);
}

エラー: ...(コードの最初のブロックの関数) の再定義

どんな助けでも大歓迎ですありがとう

4

2 に答える 2

1

私は同じ問題に直面しました。この問題の解決策は、テンプレートのインライン関数全体をコメントアウトすることです。この関数は、お互いのすぐ下で 2 回宣言されているため、問題が発生します。それらの1つをコメントアウトするだけです。

于 2013-04-17T12:41:59.527 に答える
1

私は opencv2.4.x で MinGW と同じ問題に直面し、後で operations.hpp ファイルに問題がないことがわかりました。代わりに、インストールした MinGW コンパイラに問題がありました。sourcefourge からコンパイラを再インストールしたところ、動作しました。netbeans コンパイラを確認してください。

于 2013-01-30T22:01:57.813 に答える