vlambda博客
学习文章列表

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

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

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


一. 错误报告的原因:

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


二. 未下载的文件位置

       打开日志,截取一段看看


#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,如果有,将他们全部删除,不然在运行程序时就会报错:无法定位程序输入点于动态链接库错误;


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