急求!万分感谢!opencv4使用SURF出错,无法定位程序输入点@xx@xfeatures2d动态链接库上

magic-halo 2019-04-25 09:41:42
新手很懵,我在配置好Cmake和opencv_contrib之后,想要使用SURF时遇到了这样的问题:



我感觉代码出错在:Ptr<SURF> detector= SURF::create(minHessian,5,4,true,true);
但是却不知道为什么,我的VS版本是2017,平台集是14。我也不清楚是哪一个动态链接dll文件出了问题。
...全文
1041 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
LLW1839651 2022-03-28
  • 打赏
  • 举报
回复

一样的问题,弱弱问一下咋解决

2253638029 2022-04-22
  • 举报
回复
@LLW1839651 就是你在配置contrib的时候,用vs编译生成了一些dll文件,这些文件保存在。。。\install\x64\vc16\bin下,前面的路径取决于你cmake编译的路径。然后将需要的dll文件复制到提示报错的路径下面就可以了
笑着问候 2020-10-11
  • 打赏
  • 举报
回复
所有dll文件是指哪些
magic-halo 2019-04-30
  • 打赏
  • 举报
回复
好的,谢谢你啦~
WNs_ACE 2019-04-29
  • 打赏
  • 举报
回复
引用 4 楼 fish_chuncick 的回复:
[quote=引用 3 楼 WNs_ACE 的回复:]
[quote=引用 2 楼 fish_chuncick 的回复:]
谢谢您,我需要把opencv_contrib编译后生成的所有的dll文件都放到System32中就可以了。

不建议放在system32文件中,建议放在程序同级目录,因为考虑到其他电脑的system32文件中没有opencv的dll,所以最后是放在同级目录上面[/quote]

这样的话,那我每次新建一个项目都要放一遍么?[/quote]
一般来说建立一个新的项目,都是需要把关联的类库放进去同级目录的
magic-halo 2019-04-29
  • 打赏
  • 举报
回复
引用 3 楼 WNs_ACE 的回复:
[quote=引用 2 楼 fish_chuncick 的回复:]
谢谢您,我需要把opencv_contrib编译后生成的所有的dll文件都放到System32中就可以了。

不建议放在system32文件中,建议放在程序同级目录,因为考虑到其他电脑的system32文件中没有opencv的dll,所以最后是放在同级目录上面[/quote]

这样的话,那我每次新建一个项目都要放一遍么?
WNs_ACE 2019-04-26
  • 打赏
  • 举报
回复
引用 2 楼 fish_chuncick 的回复:
谢谢您,我需要把opencv_contrib编译后生成的所有的dll文件都放到System32中就可以了。

不建议放在system32文件中,建议放在程序同级目录,因为考虑到其他电脑的system32文件中没有opencv的dll,所以最后是放在同级目录上面
magic-halo 2019-04-26
  • 打赏
  • 举报
回复
谢谢您,我需要把opencv_contrib编译后生成的所有的dll文件都放到System32中就可以了。
WNs_ACE 2019-04-25
  • 打赏
  • 举报
回复
你这个情况大多数原因应该是找不到关联的类库导致的。
需要把opencv的相关类库(或者其他的依赖类库)放在程序的运行目录上面,依赖类库是.dll的文件后缀,因为程序会在同级目录上搜索依赖类库,而同级目录没有搜索到依赖类库就会去System32或者SysWOW64的文件夹搜索(具体要看程序是32位还是64位的,32位的话就会去搜索SysWOW64,64位的话就会去搜索System32),如果都没有搜索到就会出现你现在的情况。

64,323

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧