其他分享
首页 > 其他分享> > LNK2019 无法解析的外部符号 "public: static struct cv::Ptr<class cv::xfeatures2d::SIFT> __cdecl cv:

LNK2019 无法解析的外部符号 "public: static struct cv::Ptr<class cv::xfeatures2d::SIFT> __cdecl cv:

作者:互联网

一定要来纪念一下我的血泪史!我这个代码渣渣,被上面这个错误折磨了一天半了!终于解决了啊啊啊

这步是用SIFT提取特征点并计算描述子的,之前已经用Cmake配置了opencv_3.4.0版本的扩展模块,但是在生成解决方案的时候报错了。后面发现项目中的附加依赖项中没有opencv_xfeatures2d340d.lib

然后就去编译扩展模块时的文件夹中查找,发现果然没有这个lib,试了网上的很多办法依旧没用,在我心灰意冷的时候,突然发现:在Cmake Configure时opencv_ffmpeg_64.dll这个依赖没下载成功。这个时候只能手动去下载了!

首先说明一下我的情况:VS2015+win7+opencv_3.4.0+opencv_contrib_3.4.0

 

 myopencv是cmake时创建的目标文件夹,放在opencv3.4.0中,与build、sources齐平位置

 

1.那么应该在哪儿下载呢?

答:拿我自己的举例,打开F:\opencv3.4.0\X86N\Debug\CMakeDownloadLog.txt.

没错!下载网址就是"https://raw.githubusercontent.com/opencv/opencv_3rdparty/66b1fed06cf3510235f367f96aa26da5cb234a15/ffmpeg/opencv_ffmpeg_64.dll",这个版本不同网址就不同,反正找到txt文件从中复制就行。

2.那么放在哪儿呢?

答:就放在F:\opencv3.4.0\myopencv\3rdparty\ffmpeg的目录中

3.之后要咋办?

答:粘贴进去之后,我们重新用cmake去配置,和之前的步骤相同,Configure->generate,然后重新生成解决方案,INSTALL即可!

最后打开F:\opencv3.4.0\myopencv\install\x86\vc14\lib就会发现已经有opencv_xfeatures2d340d.lib了,将次添加到附加依赖项中就好啦。

ps:一些深层次的原理我不是特别理解,如果大家出现我上面说的情况,那么就可参照,如果情况不同,就还得找其他的方法多试几次啦。

标签:__,LNK2019,ffmpeg,lib,myopencv,opencv,3.4,opencv3.4,cv
来源: https://www.cnblogs.com/zss0502/p/12694737.html