Windows 10下,OpenCV4 与 contribute 一起编译,第三方库无法下载的解决方案

不适合于所有情况,仅限于此次安装的一些错误排查及解决

freetype,harfbuzz,opencv-contribute编译
https://blog.csdn.net/hensonwells/article/details/123085406
参考上述链接,编译OpenCV的过程中,因为一个众所周知的原因
导致第三方库下载出错,
在这里插入图片描述

IPPICV: Download: ippicv_2020_win_intel64_20191018_general.zip
Try 1 failed
CMake Warning at cmake/OpenCVDownload.cmake:202 (message):
  IPPICV: Download failed: 28;"Timeout was reached"

  For details please refer to the download log file:

  D:/Install/opencv/build/CMakeDownloadLog.txt

Call Stack (most recent call first):
  3rdparty/ippicv/ippicv.cmake:37 (ocv_download)
  cmake/OpenCVFindIPP.cmake:259 (download_ippicv)
  cmake/OpenCVFindLibsPerf.cmake:12 (include)
  CMakeLists.txt:732 (include)

查看日志 :
D:/Install/opencv/build/CMakeDownloadLog.txt
日志部分如下:

#use_cache "D:/Install/opencv/.cache"
#do_unpack "ippicv_2020_win_intel64_20191018_general.zip" "879741a7946b814455eee6c6ffde2984" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip" "D:/Install/opencv/build/3rdparty/ippicv"
#cmake_download "D:/Install/opencv/.cache/ippicv/879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip"
#try 1
# timeout on name lookup is not supported
#   Trying 185.199.110.133:443...
# connect to 185.199.110.133 port 443 failed: Timed out
#   Trying 185.199.111.133:443...
# connect to 185.199.111.133 port 443 failed: Timed out
#   Trying 185.199.109.133:443...
# connect to 185.199.109.133 port 443 failed: Timed out
#   Trying 185.199.108.133:443...
# connect to 185.199.108.133 port 443 failed: Timed out
# Failed to connect to raw.githubusercontent.com port 443 after 84182 ms: Timed out
# Closing connection 0
# 

#do_unpack "v0.1.1f.zip" "b624b995ec9c439cbc2e9e6ee940d3a2" "https://github.com/opencv/ade/archive/v0.1.1f.zip" "D:/Install/opencv/build/3rdparty/ade"
#cmake_download "D:/Install/opencv/.cache/ade/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip" "https://github.com/opencv/ade/archive/v0.1.1f.zip"
#try 1

日志显示,会使用缓存文件:
use_cache “D:/Install/opencv/.cache”
进入此目录,发现会自动生成一个文件,但文件的容量为 0:
在这里插入图片描述
日志中同样有一个文件的下载链接 ,
那我们通过此链接 :
https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip

下载链接中的文件ippicv_2020_win_intel64_20191018_general.zip,

重命名为:
879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip

并放至:
D:/Install/opencv/.cache/ippicv/879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip
再点击CMake中的 Configure,即可
成功后,日志如下:

#use_cache "D:/Install/opencv/.cache"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_IPPICV_HASH_3rdparty_ippicv_ippicv_2020_win_intel64_20191018_general_zip"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_ADE_HASH_3rdparty_ade_v0_1_1f_zip"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_opencv_videoio_ffmpeg_dll"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_opencv_videoio_ffmpeg_64_dll"
#match_hash_in_cmake_cache "OCV_DOWNLOAD_FFMPEG_HASH_3rdparty_ffmpeg_ffmpeg_version_cmake"

同样,适应于OpenCV中, FFMpeg库的编译

wechat_qrcode 编译出错,
看名字猜是微信的二维码识别功能?
目前并未用上,直接将它取消即可
(其它未用上,但无法编译的库,也同样可取消)

Call Stack (most recent call first): opencv_contrib/modules/wechat_qrcode/CMakeLists.txt:26 (ocv_download)

在这里插入图片描述

OpenCV  _ITERATOR_DEBUG_LEVEL
_ITERATOR_DEBUG_LEVEL 的不匹配项 值 0 不匹配值 2

在编译Release时正常,Debug的时候却报如图所示错误,
按网上添加 _ITERATOR_DEBUG_LEVEL = 0, 也不行

后发现为: Debug的时候,链接的harfbuzz.lib库为Release库
将harfbuzzd的Debug库链接上后,便成功编译了.
Freetype的库 freetyped.lib freetype.lib 通过名字直接区分Debug与Release版本,
但是harfbuzzd却没有,也可以自己修改文件名,如Freetype一样,加个d代表为Debug版本

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值