2022-3-2 编译opencv-4.5.5 win32版本

cmake的时候要把BUILD->opencv_world选上,这个是把所有的库打包在一起,否则不会生成opencv_worldXXX.lib 

cmake编译遇到:

问题一:下载ippicv_2020_win_ia32_20191018_general.zip失败

手动下载:cd opencv\opencv-master\3rdparty\ippicv

打开ippicv.cmake,找到42行,手动组合下载链接

https://raw.staticdn.net/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_ia32_20191018_general.zip

下载完放到以上目录并解压缩,修改ippicv.cmake,把下载的命令注释掉,并把确定返回状态的注释掉即可

32#ocv_download(FILENAME ${OPENCV_ICV_NAME}
33# HASH ${OPENCV_ICV_HASH}
# URL
# "${OPENCV_IPPICV_URL}"
# "$ENV{OPENCV_IPPICV_URL}"
# "https://raw.staticdn.net/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv"
# DESTINATION_DIR "${THE_ROOT}"
# ID IPPICV
# STATUS res
# UNPACK RELATIVE_URL)

#if(res)
set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
#endif()

问题二:下载opencv_videoio_ffmpeg_64.dll opencv_videoio_ffmpeg.dll ffmpeg_version.cmake失败

手动下载这几个文件,下载地址

https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/opencv_videoio_ffmpeg.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/opencv_videoio_ffmpeg_64.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/ffmpeg_version.cmake

最后一个cmake,创建一个文件命名为ffmpeg_version.cmake,我网页的内容填进去

编辑\3rdparty\ffmpeg\ffmpeg.cmake

19#foreach(id ${ids})
20# ocv_download(FILENAME ${name_${id}}
# HASH ${FFMPEG_FILE_HASH_${id}}
# URL
# "$ENV{OPENCV_FFMPEG_URL}"
# "${OPENCV_FFMPEG_URL}"
# "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/"
# DESTINATION_DIR ${FFMPEG_DOWNLOAD_DIR}
# ID FFMPEG
# RELATIVE_URL
# STATUS res)
# if(NOT res)
# set(status FALSE)
# endif()
#endforeach()
# if(status)
set(${script_var} "${FFMPEG_DOWNLOAD_DIR}/ffmpeg_version.cmake" PARENT_SCOPE)
# endif()

问题三:CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16 (include): include could not find load file:

把源码中3rdparty\ffmpeg文件件拷贝到,构建目录的3rdparty\中,参考:https://github.com/opencv/opencv_contrib/issues/2574

问题四:WeChatQRCode: Can't get detect caffemodel file for wechat qrcode.

手动下载这个文件:https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.caffemodel

放到BUILD\downloads中

编辑opencv_contrib-master\modules\wechat_qrcode\CMakeList.txt,注释这些行

34#foreach(model_name ${model_names})
# foreach(model_type ${model_types})
# ocv_download(FILENAME ${model_name}.${model_type}
# HASH ${hash_${model_name}_${model_type}}
# URL
# "${OPENCV_WECHAT_QRCODE_URL}"
# "$ENV{OPENCV_WECHAT_QRCODE_URL}"
# "https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/${wechat_qrcode_commit_hash}/"
# DESTINATION_DIR "${CMAKE_BINARY_DIR}/downloads/wechat_qrcode"
# ID "wechat_qrcode"
# RELATIVE_URL
# STATUS res)
# if(NOT res)
# message(WARNING "WeChatQRCode: Can't get ${model_name} ${model_type} file for wechat qrcode.")
# endif()
# endforeach()
#endforeach()

问题五:最后生成库的时候失败,编辑cmake_install.cmake,注释掉这些行

35#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-readme.htm" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/icv/readme.htm")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-EULA.rtf" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/EULA.rtf")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-third-party-programs.txt" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/third-party-programs.txt")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "opencl-headers-LICENSE.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/include/opencl/LICENSE.txt")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ade-LICENSE" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ade/ade-0.1.1f/LICENSE")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ffmpeg-license.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/ffmpeg/license.txt")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ffmpeg-readme.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/ffmpeg/readme.txt")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/opencv2" TYPE FILE FILES "F:/source_code/opencv/opencv-master/BUILD/cvconfig.h")
#endif()

#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevx" OR NOT CMAKE_INSTALL_COMPONENT)
# file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/opencv2" TYPE FILE FILES "F:/source_code/opencv/opencv-master/BUILD/opencv2/opencv_modules.hpp")
#endif()

 

posted @   MoonXu  阅读(1583)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示