我花了最后一两个小时试图解决这个问题,但似乎并没有解决问题。我正在将OpenCV与MS VS 2012 RC一起使用,并且到目前为止,它工作得很好(一个错误处理了较新的Mat容器,但其他情况下还不错)。我有一个以前编写的应用程序,试图从GCC / G++移植,它使用了here的cvblob.dll库。我用VS2012重新编译了cvblob库(我的前一个版本是用MinGW编译的,可以正常工作),并设法创建了DLL和导入库.LIB。
该应用程序可以正确编译,但是现在我使用cvblob库的地方就是我的错误源,因为链接程序无法在库中找到cvLabel函数的符号。这是我从VS2012获得的完整错误消息:
ConsoleApplication1.cpp
1>正在生成代码...
1> imageinput.obj:错误LNK2019:在函数“public:class std::vector,class std::allocator>> _thiscall ImageInput::getROI(class cv::Mat,class cv::Mat)中引用的未解析的外部符号_cvLabel ”(?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库本身,我当前的二进制文件还是仅用于编译它的过程的问题。我将很乐意应要求提供任何信息。预先感谢您的建议!
最佳答案
您显然没有在项目设置中链接所需的库。尝试在项目的链接器属性中添加所有OpenCV / CvBlob库。参见docs。
还要看看this discussion。
关于opencv - 具有OpenCV 2.4,CvBlob库和Visual Studio 2012 RC的链接器错误LNK2019(未解析的符号),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11622359/