一、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. 增强for循环的用法

    一.增强for循环 增强for循环的作用: 简化迭代器的书写格式.(注意:增强for循环的底层还是使用了迭代器遍历.)增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都 ...

  2. 使用docker安装E

     环境 虚拟机软件VmWare15.5 Centos7.0 安装docker yum install docker

  3. 使用composer 显示错误美化

    新建comoser.json { "name": "brady_frmwork", "description":"php fram ...

  4. centos8平台用redis-cli对redis5监控和管理

    一,监控redis-server上正在执行的命令 1,打开a终端: [root@yjweb log]# /usr/local/soft/redis5/bin/redis-cli -h 127.0.0. ...

  5. readcf: option RunAsUser: unknown user smmsp发送邮件失败问题

    今天使用mail命令发送邮件时,发送不了,错误信息如下: /etc/mail/submit.cf: line 432: readcf: option RunAsUser: unknown user s ...

  6. 【C++】 C++异常捕捉和处理

    在阅读别人开发的项目中,也许你会经常看到了多处使用异常的代码,也许你也很少遇见使用异常处理的代码.那在什么时候该使用异常,又在什么时候不该使用异常呢?在学习完异常基本概念和语法之后,后面会有讲解. ( ...

  7. Ⅰ Introduction to Reinforcement Learning

    Dictum:  To spark, often burst in hard stone. -- William Liebknecht 强化学习(Reinforcement Learning)是模仿人 ...

  8. ORA-12609报错分析

    问题:监控不断告警ORA-12609 Wed 10/14/2020 10:40 AM 12CRAC1-ALERT中出现ORA错误,请检查 171- nt OS err code: 0 172- Cli ...

  9. 万字长文深入理解java中的集合-附PDF下载

    目录 1. 前言 2. List 2.1 fail-safe fail-fast知多少 2.1.1 Fail-fast Iterator 2.1.2 Fail-fast 的原理 2.1.3 Fail- ...

  10. sangforEDR 任意命令执行

    EDR 使用范围 由于只有POC 没有详细细节.暂时不知道具体细节. 部分EDR 已经完成升级,不存在该漏洞. POC https://XXX:8081/tool/log/c.php?strip_sl ...