c++ 编译添加dll_【C++学习笔记(三)】OpenCV_contrib4.1.0,cmake编译提示缺少boostdesc_bgm.i...

   点上方蓝字计算机视觉与深度学习获取更多干货

             在右上方 ··· 设为星标 ★,与你不见不散

一. 错误报告的原因:

       Opencv_contrib 需要自己编译,我们选用的是cmake进行编译

       在cmake中设置好路径,进行configure,标红了许多,提示有warning.这也是后面在VS 中install报错的原因,缺少相关的文件。cmake是直接从源码下载相关的文件到本地,当文件的地址无法访问时,相关的文件便没有下载到本地,而是生成了一个**.cache**文件夹。该文件夹如图所示:

e86847c04660c63136d68e6db386ca77.png

二. 未下载的文件位置

       该文件夹中生成的都是未下载成功的文件,需要我们手动来下载。下载的地址在哪呢?这时我们就要查找cmake的日志了,该日志的地址在我们新编译存储的文件夹中,我设置的文件夹名称为Newbuild,日志的名字为CMakeDownloadLog.txt,如图所示:

63349cf53c453956f4edb1d66173df41.png

       打开日志,截取一段看看

#cmake_download “D:/opencv/opencv346/sources/.cache/ffmpeg/41b81bb9a50cabd4bea385f7b50a069a-opencv_ffmpeg.dll”“https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/opencv_ffmpeg.dll”

       日志的意思是:

  cmake尝试下载

opencv_ffmpeg.dll文件,md5fe71c0ad807fdc33c2178e48e488f1e9b177c39a,

  下载地址为

https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/opencv_ffmpeg.dll

       但下载失败,因此报错。所以我们手动下载该文件并将该文件名改为md5-opencv_ffmpeg.dll,并把该文件放到.cache/ffmpeg文件夹下。

三. 下载完所有文件后

       1. 将所有未下载的文件用同样的方法下载好后,重新configure,配置路径,注意,这里需要勾选BUILD_opencv_world,以及OPENCV_ENABLE_NONFREE

  2. 然后generate,打开VS,根据自己的需要,设置好Debug,x64;或者是Release, x64后,点击生成->生成解决方案.

  3. 经过漫长等待后,在解决方案资源管理器中,打开CmakeTragets,右击INSTALL,选择仅用于项目,仅生成INSTALL。

       4. 打开新的VS项目,为项目添加包含目录,库目录,链接库,这都是老生常谈了,不再赘述。至此,如果没有出现错误的话,顺利结束你的编译之旅。

       Errrrrr…

  怎么可能这么容易结束呢?你就没有报错吗?你这个可爱的孩子?

四. 可能出现的错误:

       1.在文件的下载过程中,有的文件是可以直接下载的,有的是直接打开了网页,如https://raw.githubusercontent.com/opencv/opencv_3rdparty/fe71c0ad807fdc33c2178e48e488f1e9b177c39a/ffmpeg/ffmpeg_version.cmake ,这时我们需要点击右键另存为txt文件,再修改后缀为cmake文件。

       2.文件的下载也有另外一种方式,直接到github的opencv_contrib页面进行下载,选择相应版本的opencv_contrib,下载相应的模块文件如ffmpeg等等

       3.LNK1104 无法打开文件“python37_d.lib”。说明你的Python在安装时没有安装Debug版本,那么重新修改Python的安装设置,将Debug版本添加进来。我的另一篇博客有介绍:Python37_d.lib

       4.最重要的BUG,如果编译OpenCV,那么你就要检查C盘的Windows文件夹下的syswow64和system32文件夹中是否含有opencv相关的dll,如果有,将他们全部删除,不然在运行程序时就会报错:无法定位程序输入点于动态链接库错误;

       历经许多磨难,最终程序运行成功!仅以此博客记录这漫长的过程!!!

8ec265868f10e36fb438b9a32105590e.png

  关注公众号【计算机视觉与深度学习】,获取海量计算机视觉与深度学习资源,实战项目源码,最新论文下载,大厂面试经验!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值