我在C ++中将一些外部库附加到我的项目中。 这些库使用opencv2库。
我已经将opencv2包含文件添加到我的c / c ++属性中。我还添加了我用Google搜索并找到链接器输入列表的所有相关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
有谁知道如何解决这个问题? 非常感谢!
答案 0 :(得分:2)
错误是由于未在调试或释放模式下添加特定库。 使用32位或64库,具体取决于您的目标计算机 在发布模式下添加相应的opencv库 -
opencv_core242.lib opencv_highgui242.lib opencv_imgproc242.lib opencv_ml242.lib
opencv_legacy242.lib opencv_video242.lib
OR如果要在调试模式下运行程序,那么 使用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
答案 1 :(得分:1)
添加库文件“opencv_objdetect248.lib; opencv_objdetect248d.lib;”在Project roperties中 - > Linker - >输入。
答案 2 :(得分:0)
您需要添加opencv_objdetect库。如果你使用调试模式添加objdetect(version)d.lib,但是,如果你发布模式添加objdetect(version).lib