不适合于所有情况,仅限于此次安装的一些错误排查及解决
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)
_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版本