win10下通过cmake安装opencv及其扩展遇到文件无法编译的情况

问题遇到的现象和发生背景 :
    小白刚接触opencv,想通过cmake在win10系统下安装opencv4.5.5及其相应版本的扩展contrib,之后在vs2019上进行应用开发。但是在按照博客上的安装流程进行configure时,发生错误提示:

CMake Error at C:/Program Files/CMake/share/cmake-3.25/Modules/FindOpenMP.cmake:420 (try_compile):
Cannot copy output executable

''

to destination specified by COPY_FILE:

'D:/OpenCV/opencvbuild/CMakeFiles/FindOpenMP/ompver_C.bin'

Recorded try_compile output location doesn't exist:

D:/OpenCV/opencvbuild/CMakeFiles/CMakeScratch/TryCompile-im56o0/Debug/cmTC_7b975.exe

Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/FindOpenMP.cmake:560 (_OPENMP_GET_SPEC_DATE)
C:/Program Files/CMake/share/cmake-3.25/Modules/FindBLAS.cmake:768 (find_package)
C:/Program Files/CMake/share/cmake-3.25/Modules/FindLAPACK.cmake:247 (find_package)
C:/Program Files/CMake/share/cmake-3.25/Modules/FindLAPACK.cmake:283 (_lapack_find_dependency)
cmake/OpenCVFindLAPACK.cmake:176 (find_package)
CMakeLists.txt:733 (include)

我的解答思路和尝试过的方法
    光看字面意思,这个报错是提示无法将输出的可执行文件 “” 复制到copy_file指定的目标文件下,记录try_compile操作的输出位置不存在。但是萌新刚接触cmake了解不深,直接搜索英文或中文关键字,没有查到相关案例的解决方案。看大佬们通过cmake进行opencv安装时,都没类似的情况发生,所以想在这里询问各位大佬,有无相关解决方法。

先说你的需求,contrib包需要编译什么额外的第三方库吗?比如cuda之类的,还是使用一个none-free的模块就行?
然后根据的需求勾选扩展模块,而不是所有扩展模块都选取,你这种就是勾选了类似OpenMP,blas,TBB之类的第三方模块,但是找不到这些模块的安装路径或者源码就或报错。
另外就是configure的时候,红色报错除了waring之外其他的都要处理掉才行,你在opencv4.5.5这个包下面的.cache文件夹里面有无类似以下这些文件,每个文件夹里面的文件都不能是0kb,0kb说明没有下载完全。

img

WITH_LAPACK取消勾选

解决了!!!CMake版本换成3.24,参考https://blog.csdn.net/weixin_63311945/article/details/127693551

img

这应该是Configure时有红色报错没解决, 应该是网络原因,有些模块没有下载成功,导致Configure失败。
建议更换为国内镜像下载的OpenCV来编译吧, https://blog.csdn.net/Jay_Xio/article/details/124558948

使用gitcode国内镜像拉取代码:

$ git clone https://gitcode.net/opencv/opencv
$ cmake -B opencv-build opencv

或者使用CMake编译时带上 -DOPENCV_DOWNLOAD_MIRROR_ID=gitcode参数:

$ git clone https://github.com/opencv/opencv
$ cmake -B opencv-build -DOPENCV_DOWNLOAD_MIRROR_ID=gitcode opencv

你直接下载编译好的opencv就行,你是要调用它,又不是要改它
下载地址,opencv官网-Library-Release-Windows点进去就能找到
或者网上搜一下也能找到不少下载地址

把cmake版本换成3.24就好了