首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试在外部opencv中使用我的项目

尝试在外部opencv中使用我的项目
EN

Stack Overflow用户
提问于 2012-08-12 13:55:45
回答 3查看 3K关注 0票数 2

我在C++中将一些外部库附加到我的项目。这些库利用了opencv2库。

我已经将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的这4个恼人的链接问题。我到处寻找解决方案,却找不到解决方案。在外部程序中,没有人真正使用setSVM函数。

以下是连接问题:

代码语言:javascript
运行
复制
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

有人知道如何解决这个问题吗?非常感谢!

EN

回答 3

Stack Overflow用户

发布于 2013-02-10 03:41:35

错误是由于没有在调试或发布模式中添加特定的库。根据目标机器使用32位或64位库,在发布模式下添加相应的opencv库-

代码语言:javascript
运行
复制
opencv_core242.lib opencv_highgui242.lib opencv_imgproc242.lib opencv_ml242.lib   
opencv_legacy242.lib opencv_video242.lib 

或者,如果您希望在调试模式下运行程序,则使用opencv的调试库。

代码语言:javascript
运行
复制
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
票数 2
EN

Stack Overflow用户

发布于 2014-04-29 00:44:07

在Project >Linker->Input中添加库文件"opencv_objdetect248.lib;opencv_objdetect248d.lib;“。

票数 1
EN

Stack Overflow用户

发布于 2014-04-04 06:26:02

您需要添加opencv_objdetect库。但是,如果您使用调试模式添加objdetect(版本)d.lib,则如果您发布模式添加objdetect(版本).lib

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11922703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档