2012-07-24 26 views
2

我花了最後一兩個小時試圖追捕這個問題,似乎無法做到正確。我在MS VS 2012 RC上使用OpenCV,到現在爲止它工作得很好(一個bug與較新的Mat容器有關,但是另有處理)。我有一個以前編寫的應用程序,我試圖使用來自here的cvblob.dll庫進行移植(來自GCC/G ++)。我用VS2012重新編譯了cvblob庫(我以前的版本是用MinGW編譯的並且工作得很好),並且設法創建了一個DLL和一個導入庫.LIB。鏈接器錯誤LNK2019(未解決的符號)與OpenCV 2.4,CvBlob庫和Visual Studio 2012 RC

該應用程序編譯正確,但是我使用cvblob庫的一個地方現在是我的錯誤來源,因爲鏈接程序無法在庫中找到cvLabel函數的符號。這是完整的錯誤信息,我從VS2012得到:

ConsoleApplication1.cpp 1>生成代碼... 1> imageinput.obj:錯誤LNK2019:在函數引用解析外部符號_cvLabel「市民:類的std ::向量,class std :: allocator>> _ thiscall ImageInput :: getROI(class cv :: Mat,class cv :: Mat)「(?getROI @ ImageInput @@ QAE?AV?$ vector @ V?$ Rect @ H @ cv @@ V $ $ allocator @ V $ $ Rect_ @ H @ cv @@@ std @@@ std @@ VMat @ cv @@ 0 @ Z) 1> C:\ Users \ Jake \ Documents \ Visual Studio 2012 \ Projects \ ConsoleApplication1 \ Debug \ ConsoleApplication1.exe:致命錯誤LNK1120:1個未解析的外部設備

我不確定這是否是問題與cvblob庫本身,我目前的二進制文件,或者只是我用來編譯它的過程。我會很樂意根據要求提供任何信息。預先感謝您的建議!

回答

1

你顯然沒有在項目設置中鏈接需要的庫。嘗試在您的項目的鏈接器屬性中添加所有OpenCV/CvBlob庫。見docs

也看看this discussion

+0

CvBlob.dll IS列在我的其他依賴項中。這就是令人困惑的原因。我用.dll版本試了一下,然後讓我自己的.lib去使用它。 – gankoji 2012-07-24 14:12:12

+0

@gankoji查看更新。 – ArtemStorozhuk 2012-07-24 16:32:04

+1

我在閱讀我的文章之前通過搜索/研究來閱讀該討論。不幸的是,從中獲得的智慧還不足以解決我的問題。好消息是我找到了另一種解決方案,使用OpenCV的features2d庫中包含的SimpleBlobDetector類,並根據自己的需要進行擴展。由於我自己與OpenCV庫本身沒有任何鏈接問題,因此我的項目能夠繼續。 – gankoji 2012-07-27 01:50:58

相關問題