Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将我的项目与外部opencv一起使用 我在C++中附加了一些外部库到我的项目中。 这些库使用opencv2库_C++_Opencv - Fatal编程技术网

尝试将我的项目与外部opencv一起使用 我在C++中附加了一些外部库到我的项目中。 这些库使用opencv2库

尝试将我的项目与外部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

我已经将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
关于
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
handles
gpu::HOCDescriptor
)我用
opencv\u objdetect
2.4.2测试了一个简单的代码,编译时没有问题。