__cdecl cv::xfeatures2d::SIFT::create()" type="hidden"/>

LNK2019 無法解析的外部符號 "public: static struct cv::Ptr __cdecl cv::xfeatures2d::SIFT::create()


一定要來紀念一下我的血淚史!我這個代碼渣渣,被上面這個錯誤折磨了一天半了!終於解決了啊啊啊

這步是用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:一些深層次的原理我不是特別理解,如果大家出現我上面說的情況,那么就可參照,如果情況不同,就還得找其他的方法多試幾次啦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM