尝试将我的项目与外部opencv一起使用 我在C++中附加了一些外部库到我的项目中。 这些库使用opencv2库
我已经将opencv2包含文件添加到我的c/c++属性中。我还将谷歌搜索到的所有相关lib文件添加到链接器输入列表中。(我正在运行发布版本,但我也尝试了带有“d”扩展名的调试版本)尝试将我的项目与外部opencv一起使用 我在C++中附加了一些外部库到我的项目中。 这些库使用opencv2库,c++,opencv,C++,Opencv,我已经将opencv2包含文件添加到我的c/c++属性中。我还将谷歌搜索到的所有相关lib文件添加到链接器输入列表中。(我正在运行发布版本,但我也尝试了带有“d”扩展名的调试版本) opencv_core230.lib opencv_highgui230.lib opencv_objdetect230.lib opencv_imgproc230.lib opencv_ml230.lib opencv_legacy230.lib opencv_video230.lib 关于setSVMDete
- opencv_core230.lib
- opencv_highgui230.lib
- opencv_objdetect230.lib
- opencv_imgproc230.lib
- opencv_ml230.lib
- opencv_legacy230.lib
- opencv_video230.lib
setSVMDetector@HOGDescriptor
。
我到处寻找解决办法,却找不到。;没有人在外部程序中真正使用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
有人知道如何解决这个问题吗?
非常感谢 错误是由于未在调试或发布模式下添加特定库造成的。 根据您的目标计算机使用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
您需要添加opencv_objdetect库。如果使用调试模式添加objdetect(version)d.lib,但是如果释放模式添加objdetect(version).lib在项目属性-->链接器-->输入中添加库文件“opencv_objdetect248.lib;opencv_objdetect248d.lib;”。我在
cv
中看到的唯一的HOGDescriptor
在模块中是的,但是库:“opencv_objdetect230.lib”应该包括它,对吗?或者我应该包括另一个库吗?谢谢,Idan.No。gpu模块在opencv_gpu230.lib
中。我添加了这个库,但是对于我拥有的每个类,我仍然会得到这个链接错误:错误5错误LNK2001:未解析的外部符号”public:virtualvoid uu thiscall cv::HOGDescriptor::setsvmtodector(类cv::InputArray const&)“(?setSVMDetector@HOGDescriptor@cv@@UAEXABV_InputArray@2@@Z)C:\Users\idan\Documents\visualstudio 2010\GraspTestingTool\GraspTestingTool\GraspTestingTool.obj-GraspTestingTool opencv文档站点一定有一些问题。我在那里没有找到任何cv::HOGDescriptor
,但显然有一个,我已经检查了代码,它就在那里。(请注意,opencv\u gpu
handlesgpu::HOCDescriptor
)我用opencv\u objdetect
2.4.2测试了一个简单的代码,编译时没有问题。