【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,如果有,将他们全部删除,不然在运行程序时就会报错:无法定位程序输入点于动态链接库错误;
历经许多磨难,最终程序运行成功!仅以此博客记录这漫长的过程!!!