2017-07-10 11 views
0

Windows用BGSLライブラリcmake 3.9をビルドしようとしていますが、opencv 3.1でビルドされたpythonのサポートとVisual Studio Community 2017で1.64.0をサポートします。LINK2001 Visual Studioプロジェクトをビルドするときにv2017のリンカーがあります

Visual Studioをよく知っている人がこのエラーを私のために解釈できますか? C++はコンパイルされているようですが、プロジェクトのソリューションは失敗します。すべての.objファイルを構築することから始まります。

2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\Lib.exe /OUT:"C:\Users\Ben\Documents\bgslibrary\build\libbgs.lib" /NOLOGO /machine:X86 libbgs.dir\Release\AdaptiveBackgroundLearning.obj 
2>libbgs.dir\Release\AdaptiveSelectiveBackgroundLearning.obj 
2>libbgs.dir\Release\CodeBook.obj 
2>libbgs.dir\Release\DPAdaptiveMedian.obj 
2>libbgs.dir\Release\DPEigenbackground.obj 

一般的なエラーが表示されます。

5>libbgs.lib(LBSP.obj) : error LNK2019: unresolved external symbol "public: virtual void __thiscall cv::Feature2D::read(class cv::FileNode const &)" ([email protected]@[email protected]@[email protected]@@Z) referenced in function "[thunk]:public: virtual void __thiscall cv::Feature2D::read`vtordisp{4294967292,0}' (class cv::FileNode const &)" ([email protected]@[email protected]@[email protected]@[email protected]@@Z) 

しかし、LBSP.objファイルは100行前にコンパイルされていますか?私はここでそれを見ることができます。

enter image description here

このファイルは、ビルド時に作成された、なぜそれがリンクすることはできませんか?どこにこのディレクトリを追加する必要がありますか?

私は他のSOの質問を読んでいます。このエラーは、VS2017より前にPROPERTIES-> LINKER-> ADEPTIONED DEPENDENCIESに行った追加のパスを追加する必要がある可能性があることを意味します。私はこのオプションや構造がもう見えません。

enter image description here

3>C:\Users\Ben\Documents\opencv\modules\core\include\opencv2/core/types_c.h(894) 
+2

'PROPERTIES-> LINKER-> ADDITIONAL DEPENDENCIES'はまだありますが、CMakeの" ALL_BUILD "プロジェクトのような一般的な非C++プロジェクトではなく、C++プロジェクトファイルのプロパティを実際に見てみるだけです。 libbgsが静的なlibとしてビルドされている場合は、libbgsプロジェクトのプロパティまたはbgs_demoのプロパティを調べてください。 – PeterT

+0

このプロジェクトがCMakeで生成されていても、変更した値が再生成されるため、IDEのコンパイラ設定に触れないでください。それはVisual Studio 2017でCMakeのサポートをテストしていないので、これがまだ問題であるかどうかはわかりません。 – drescherjm

+0

ありがとう@drescherjm。より広義には、ここで何が起こっているのか、私にいくつかの文章を教えてもらえますか?それは.objファイルをコンパイルするのですが、ソリューションをビルドするときの場所はわかりません。私はリンカーの下に「プロジェクトの依存関係からのライブラリ出力が自動的にリンクされているかどうかを指定する」という「リンカー依存関係」というオプションを表示します。 – bw4sz

答えて

0

これはcmakeのパス・エラーではなく、Visual Studioのエラーでした。 OpenCV/binをパスに追加するとこれが解決されました。

関連する問題