2012-08-28 20 views
7

私はOpenCVからチュートリアルの例の1つを実行しようとしています。これは、Flannベースのキーポイントマッチングを使用して既知のオブジェクトを見つけることに関するものです。コードはFeatures2D + Homography to find a known objectにあります。Flann関数は未解決の外部

"ライブラリをリンクしましたか?"または同様の質問。はい、私はOpenCVを3週間使用していて、ほとんどすべてのライブラリを使用するさまざまな例があります。そして今日まで問題はなかった。

Visual Studioのリンカ入力設定にこれらのライブラリの依存関係を追加しました。インクルードディレクトリも正常に動作しています。

C:\OpenCV2.4\lib\opencv_core242d.lib 
C:\OpenCV2.4\lib\opencv_highgui242d.lib 
C:\OpenCV2.4\lib\opencv_video242d.lib 
C:\OpenCV2.4\lib\opencv_ml242d.lib 
C:\OpenCV2.4\lib\opencv_legacy242d.lib 
C:\OpenCV2.4\lib\opencv_imgproc242d.lib 
C:\OpenCV2.4\lib\opencv_objdetect242d.lib 
C:\OpenCV2.4\lib\opencv_flann242d.lib 
C:\OpenCV2.4\lib\opencv_nonfree242d.lib 
C:\OpenCV2.4\lib\opencv_calib3d242d.lib 

エラーはリンカーエラーです。 Flannの機能を解決することはできません。

1>------ Build started: Project: flannMatch, Configuration: Debug Win32 ------ 
1>flannMatch.obj : error LNK2019: unresolved external symbol "void __cdecl cv::drawMatches(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > const &,class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > const &,class std::vector<struct cv::DMatch,class std::allocator<struct cv::DMatch> > const &,class cv::Mat &,class cv::Scalar_<double> const &,class cv::Scalar_<double> const &,class std::vector<char,class std::allocator<char> > const &,int)" ([email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@[email protected][email protected][email protected]@[email protected]@@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::DescriptorMatcher::match(class cv::Mat const &,class cv::Mat const &,class std::vector<struct cv::DMatch,class std::allocator<struct cv::DMatch> > &,class cv::Mat const &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]) referenced in function_main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: __thiscall cv::FlannBasedMatcher::FlannBasedMatcher(class cv::Ptr<struct cv::flann::IndexParams> const &,class cv::Ptr<struct cv::flann::SearchParams> const &)" ([email protected]@@[email protected][email protected]@[email protected]@@@[email protected][email protected]@[email protected]@@@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::DescriptorExtractor::compute(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > &,class cv::Mat &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::FeatureDetector::detect(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > &,class cv::Mat const &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorMatcher::~DescriptorMatcher(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::FlannBasedMatcher::~FlannBasedMatcher(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorMatcher::DescriptorCollection::~DescriptorCollection(void)" ([email protected]@[email protected]@[email protected]) referenced in function "public: virtual __thiscall cv::FlannBasedMatcher::~FlannBasedMatcher(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::FeatureDetector::~FeatureDetector(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::Feature2D::~Feature2D(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorExtractor::~DescriptorExtractor(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::Feature2D::~Feature2D(void)" ([email protected]@@[email protected]) 

また、ここでの質問のおかげで、サーフとシフトが非フリーに移行したこともわかります。一見すると、私はOpenCV(2.2と2.4)の2つのバージョンがあり、それが違いを生み出している可能性があると思っていました。そこで私は2.2を削除し、別のプログラムを実行しようとしました。それは正常に動作していたが、まだこのエラーはなくなっていませんでした。

私の質問は何ですか?私はここで何が欠けていますか?別のライブラリの依存関係はありますか?私には見えないものは何ですか?どんな助けもありがとうございます。

- EDIT -

どのように私はそれを見ることができませんでしたか?私は本当にこのような簡単な質問を投稿して申し訳ありません。私はとても馬鹿だと感じる。私はこの依存関係を追加することを忘れていました。

C:\OpenCV2.4\lib\opencv_features2d242d.lib 

誰もが再びそれを逃すと思います。

+0

あなたは質問を投稿した直後に答えを見つけた最初の人でも最後の人でもありません:)。私たちと答えを共有してくれてありがとう。 – bjoernz

+0

しかし、回答は質問の一部ではなく*回答*として共有する必要があります。 –

+0

私は知っているが、評判のために、私は8時間が過ぎるまで私の質問に答えない。まだ6時間が経過している:D – yutasrobot

答えて

2

どのように私はそれを見ることができませんでしたか?私は本当にこのような簡単な質問を投稿して申し訳ありません。私はとても馬鹿だと感じる。私はこれを追加することを忘れてしまった。

C:\OpenCV2.4\lib\opencv_features2d242d.lib 

誰もが再びそれを逃すと思います。