用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法

Part I

        写在最前面,最近这段时间的工作需要用opencv,不仅是调包,还要能够看到opencv的源码。然后就跟着网上的教程实现了一遍,在实现过程中,遇到了不少问题,现一一记录下来。(最近的工作和生活都很难。。。也充满了挑战。但我依然要维持自己创作文章的动机,希望能够帮到更多的人。)


1,下载

Releases - OpenCVOpenCV官网:Releases - OpenCV

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第1张图片

Download | CMakeCmake官网:Download | CMake

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第2张图片


 2,安装

把下载好的opencv-4.8.0.zip,解压到D盘新建的一个名叫“opencv480”的文件夹中。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第3张图片

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第4张图片

 cmake的安装注意一下这个选项就行了。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第5张图片


3,用cmake build openCV

3,1 在放置opencv文件的相同目录下,创建一个新的文件夹"opencv480_build"用于保存build后的数据。 

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第6张图片

3.2打开刚刚安装好的camke,并选择正确的路径

第一个是我们要build的源文件,来自于openCV官方压缩包中的source文件夹。

下面那个where to build the binaries就配置我们刚刚新建的那个文件夹"Rebuild_sources"。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第7张图片

3.3 然后选择 configure

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第8张图片

3.4 选择对应的VS版本,我的是2022

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第9张图片

选择平台x64

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第10张图片

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第11张图片

 然后点击Finish,Cmake就开始自动配置了。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第12张图片


4,配置完成。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第13张图片

 虽然cmake完成了配置,但在配置的过程中也出现了很多红色的警告和错误。所有这些错误都会保存到"opencv480_build"文件夹下的“CMakeDownloadLog.txt”中。 

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第14张图片


 5,消除configure中遇到的问题

打开这个log,我们一个个的解决。

5.1,ippicv_2021.8_win_intel64_20230330_general.zip

先看第一个(看不清的点击图像放大看),复制他给的这个网址,然后下载下来一个叫“ippicv_2021.8_win_intel64_20230330_general.zip”的文件。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第15张图片

 把这个文件放在.cache文件夹下。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第16张图片

 然后再把这个文件改成他说的这个“71e4f......”文件名后,并放在相应目录下。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第17张图片

替换掉原来的同名文件 

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第18张图片

 然后在重新点击configure,并查看最新生成的log。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第19张图片

 这时,系统提示mach上了,说明第一个问题解决了。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第20张图片

 5.2,log显示缺少这个文件"v0.1.2a.zip"

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第21张图片

 同样,去log中提供的网址下载,更名后放到他指定的目录下。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第22张图片

 然后重新执行configure,并查看新的log,发现第二个问题也修复了。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第23张图片

5.3 找不到opencv_videoio_ffmpeg.dll

根据系统提供的网址下载下来后,更名,覆盖.cache\ffmpeg中的旧文件。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第24张图片

并把未改名的源文件放到.cache的目录下。 

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第25张图片

5.4 opencv_videoio_ffmpeg_64.dll

操作同上

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第26张图片

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第27张图片

 成功,就剩最后一个了用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第28张图片

5.5 ffmpeg_version.cmake

这个文件的下载跟前面的几个都不一样,在网页空白处点击鼠标右键,选择另存为。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第29张图片

 把下载后的文件,重命名为这个文件名,并保存到指定的目录中。用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第30张图片

同样,更换文件名,并放在这个目录下。 

 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第31张图片

 单击configure,log显示全部通过了。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第32张图片


6,单击generate。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第33张图片

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第34张图片

 generate成功后,在之前创建的“opencv480_build”文件夹中会出现一个叫“OpenCV.sln”的文件。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_第35张图片


  (全文完)

作者 --- 松下J27

参考文献(鸣谢):

        1,Download | CMake

        2,OpenCV - Open Computer Vision Library

 版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27 

你可能感兴趣的:(Coding,opencv,计算机视觉,vs编辑器,VS2022,cmake,编译错误,opencv源代码)