我在C++中将一些外部库附加到我的项目。这些库利用了opencv2库。
我已经将opencv2包含文件添加到我的c/c++属性中。我还将所有相关的lib文件添加到链接器输入列表中,我搜索并找到了这些文件。(我正在运行发行版,但我也尝试了带有"d“扩展的调试版本)。
我得到了有关setSVMDetector@HOGDescriptor
的这4个恼人的链接问题。我到处寻找解决方案,却找不到解决方案。在外部程序中,没有人真正使用setSVM函数。
以下是连接问题:
Error 14 error LNK2001: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::setSVMDetector(class cv::_InputArray const &)" (?setSVMDetector@HOGDescriptor@cv@@UAEXABV_InputArray@2@@Z) C:\Users\idan\Documents\Visual Studio 2010\GraspTestingTool\GraspTestingTool\GraspTestingTool.obj GraspTestingTool
Error 15 error LNK2001: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::setSVMDetector(class cv::_InputArray const &)" (?setSVMDetector@HOGDescriptor@cv@@UAEXABV_InputArray@2@@Z) C:\Users\idan\Documents\Visual Studio 2010\GraspTestingTool\GraspTestingTool\htmlGenerator.obj GraspTestingTool
Error 16 error LNK2001: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::setSVMDetector(class cv::_InputArray const &)" (?setSVMDetector@HOGDescriptor@cv@@UAEXABV_InputArray@2@@Z) C:\Users\idan\Documents\Visual Studio 2010\GraspTestingTool\GraspTestingTool\sequenceTests.obj GraspTestingTool
Error 17 error LNK2001: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::setSVMDetector(class cv::_InputArray const &)" (?setSVMDetector@HOGDescriptor@cv@@UAEXABV_InputArray@2@@Z) C:\Users\idan\Documents\Visual Studio 2010\GraspTestingTool\GraspTestingTool\Utilities.obj GraspTestingTool
有人知道如何解决这个问题吗?非常感谢!
发布于 2013-02-09 19:41:35
错误是由于没有在调试或发布模式中添加特定的库。根据目标机器使用32位或64位库,在发布模式下添加相应的opencv库-
opencv_core242.lib opencv_highgui242.lib opencv_imgproc242.lib opencv_ml242.lib
opencv_legacy242.lib opencv_video242.lib
或者,如果您希望在调试模式下运行程序,则使用opencv的调试库。
opencv_core220d.lib
opencv_highgui220d.lib
opencv_video220d.lib
opencv_ml220d.lib
opencv_legacy220d.lib
opencv_imgproc220d.lib
opencv_objdetect242.lib
C:\opencv\build\x86\vc10\lib
发布于 2014-04-28 16:44:07
在Project >Linker->Input中添加库文件"opencv_objdetect248.lib;opencv_objdetect248d.lib;“。
发布于 2014-04-03 22:26:02
您需要添加opencv_objdetect库。但是,如果您使用调试模式添加objdetect(版本)d.lib,则如果您发布模式添加objdetect(版本).lib
https://stackoverflow.com/questions/11922703
复制