一、Configure会报一些红色的警告信息,比如:

 1 CMake Warning at cmake/OpenCVDownload.cmake:193 (message):
2 FFMPEG: Download failed: 7;"Couldn't connect to server"
3
4 For details please refer to the download log file:
5
6 D:/study/opencv_with_contrib_test_sln/CMakeDownloadLog.txt
7
8 Call Stack (most recent call first):
9 3rdparty/ffmpeg/ffmpeg.cmake:20 (ocv_download)
10 cmake/OpenCVFindLibsVideo.cmake:200 (download_win_ffmpeg)
11 CMakeLists.txt:636 (include)

提示FFMPEG下载失败,因为无法连接到服务器,打开 CMakeDownloadLog.txt 查看详细信息。

二、打开CMakeDownloadLog.txt


#use_cache "D:/study/opencv-4.0.0/.cache"
#do_copy "opencv_ffmpeg.dll" "849286ccc527c99e5a218b67f13c6e8c" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll" "D:/study/opencv_with_contrib_test_sln/3rdparty/ffmpeg" 这两句的意思是说将 opencv_ffmpeg.dll(它的md5签名是 849286ccc527c99e5a218b67f13c6e8c,下载地址是 "https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll" )
从 "D:/study/opencv-4.0.0/.cache" 拷贝到 "D:/study/opencv_with_contrib_test_sln/3rdparty/ffmpeg"目录下。 #missing "D:/study/opencv_with_contrib_test_sln/3rdparty/ffmpeg/opencv_ffmpeg.dll"
目标目录下没有此文件 #cmake_download "D:/study/opencv-4.0.0/.cache/ffmpeg/849286ccc527c99e5a218b67f13c6e8c-opencv_ffmpeg.dll" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll"
下载此文件到源代码路径 /.cache/ffmpeg/,并命名为"md5-文件名" # timeout on name lookup is not supported
# Trying 151.101.108.133...
# TCP_NODELAY set
# connect to 151.101.108.133 port 443 failed: Connection refused
# Failed to connect to raw.githubusercontent.com port 443: Connection refused
# Closing connection 0
#
连接到服务器失败

三、分析

公司工作机无法访问外网,自然就无法连接到下载服务器。那就直接通过外网下载好需要的文件,然后重命名为"md5-文件名",放在  /.cache/ffmpeg/ 文件夹下面,或者直接放到目标路径  /3rdparty/ffmpeg/opencv_ffmpeg.dll(不用重命名)。

注意:

1、 https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/ffmpeg_version.cmake" 无法直接下载,

而是直接打开了ffmpeg_version.cmake,可以右键网页选择另存为 ffmpeg_version.cmake.txt,然后再改为ffmpeg_version.cmake。这里如果自己新建一个txt,然后直接将网页上的内容拷进去,然后再该后缀为.cmake是不行的,会提示md5不匹配。

2、不同版本的OpenCV对应的 opencv_ffmpeg.dll 等缺失文件的 md5 签名是不一样的

四、总结

1、问题不难,一步一步的去求解;

2、沉下心来看英文,比六级简单得多;

3、ffmpeg_version.cmake 这个直接通过连接是不能直接下载的,自己新建一个.cmake不行的时候就去看下为什么不行,而不是不停的重复相同的操作以期望奇迹的出现。

4、当发现百度到的解决办法基本雷同时,就不必花大量时间去检索和自己的问题一模一样的博文了,这样只会浪费时间,心情也会变得焦躁,此时应该冷静的去思考。

CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结的更多相关文章

  1. win10 cmake编译 opencv4.0 + pyhton3.7x64

    在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...

  2. HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Framework\v4.0.30319\aspnet_filter.dll 加载失败。数据是错误。

    今天在一台win2003的云主机上,安装.net 4.0时,所有的网站都打不开了.打开事件查看器,发现以下错误: HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Frame ...

  3. 安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决

    安装 Xshell 5/6 时出现.dll以及0xc000007错误的解决 问题:缺少 mfc110.dll或者是其他.dll文件以及应用程序运行错误,如下所示. 方法: 一种是网上直接下载.(缺少. ...

  4. maven mvn package 打包项目时,出现错误导致失败的解决方法

    解决思路:看报错时在maven打包过程中的哪一步,然后看报错内容,解决报错内容即可,如果是实在不好解决的部分,看看能不能设置不检测,能打包出来就行. 这里是因为mybatis逆向工程插件出现异常所以中 ...

  5. java spring 等启动项目时的异常 或 程序异常的解决思路

    今天搭建ssm项目的时候,因为pagehelper的一个jar包没有导入idea的web项目下的lib目录中,异常报错找不到pagehelper,这个问题在出异常的时候疯狂crash,让人心情十分不舒 ...

  6. Mybatis中 Integer 值为0时,默认为空字符串的解决办法。

    需求是查询级别为0的用户 User对象里的level字段的值为0,查询时居然没有查到为level为0的用户. <select id="selectSelective" par ...

  7. python安装pymssql等包时出现microsoft visual c++ 14.0 is required问题无需下载visualcppbuildtools的解决办法

    如题,在练习python安装一些包时,出现了microsoft visual c++ 14.0 is required问题.网上有很多资料:一是下载对应的.whl文件,然后pip install安装: ...

  8. 使用XE5-PACTH破解Delphi-XE5时,出现检查文件大小失败的解决方法

    今天给自己的64位Win7电脑破解Delphi-XE5时,一直出现检查bds.exe尺寸大小失败的错误提示. 网上查了很久,Csdn上给了个破解的bds.exe,本人一直没什么Csdn积分,没得下,所 ...

  9. Maven配置pom.xml,正在下载时网络不佳下载失败的解决方案

    环境:jdk1.7.0_17,Myeclipse 10,apache-maven-3.2.5 配置项目中pom.xml的dependencies时 ,如果本地仓库没有的话,就会自动下载.找不到仓库位置 ...

随机推荐

  1. 多测师讲解requests __中_高级讲师肖sir

    (1)生成报告 import unittest #导入单元测试框架 import requests #导入接口库 import time # #时间戳,导入time模块 from api.HTMLTe ...

  2. MeteoInfo家族的新产品:MeteoInfoLab

    为了更方便地处理各种数据并绘图,尝试开发了一个新的软件产品MeteoInfoLab,软件设计上参考了MatLab和Spider.软件以脚本程序和命令行交互为主,基于MeteoInfo库并利用Jytho ...

  3. PHP转Go系列:数组与切片 转

    数组的定义# 用过PHP的同学应该很清楚,无论多么复杂的数据格式都可以用数组来表达,什么类型的数据都可以往里塞,它是工作必备的一部分,使用很简单,易用程度简直变态. Copy $array = [1, ...

  4. laravel重写

    laravel location / { try_files $uri $uri/ /index.php?$query_string; } ci location / { try_files $uri ...

  5. .Net Core单元测试规范

    .Net Core单元测试规范 一. 前言 为了有效提升代码质量,保证DevOps的顺利进行.将全面开始采用单元测试进行覆盖,届时单元测试将完全纳入 到完整的持续构建生命周期中做为第一道质量把控的门槛 ...

  6. html的keywords标签

    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /& ...

  7. 假如 Web 当初不支持动态化

    楔子 Web 生而具有极其灵活的动态化基础能力,诸如: 动态插入script标签执行任意脚本逻辑 动态插入style标签引入任何 CSS 样式规则 通过iframe标签嵌入整站 以上标签均可直接加载网 ...

  8. IDEA Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.8.2-plugin爆红错误

    如果确认本地库存在,maven仓库配置正确,将其显式声明出来,问题解决 <!--报找不到该依赖的错误, 本地库又存在,将其显式声明在这里,问题解决--> <plugin> &l ...

  9. filezilla pureftpd 读取目录列表失败

    放行   21, 39000 - 40000端口

  10. 【设计模式】第一篇:概述、耦合、UML、七大原则,详细分析总结(基于Java)

    迷茫了一周,一段时间重复的 CRUD ,着实让我有点烦闷,最近打算将这些技术栈系列的文章先暂时搁置一下,开启一个新的篇章<设计模式>,毕竟前面写了不少 "武功招式" 的 ...