环境配置预备
OpenCV准备
下载文件
从官网链接下载适合自己系统的资源文件版本
Releases - OpenCV
下载后根据指示安装到心仪的位置,如·C:\Users\25176\OpenCV\opencv
文件目录结构
\opencv\build
——存放构建文件以及可供包含的文件
\opencv\sources
——存放用于编译的源文件
\opencv\build\include
——可供包含的文件目录
\opencv\build\x64
——各版本的构建目录
以下是推荐命名:
\x64\vcxx
——用于msvc的构建文件
\x64\MinGW
——用于MinGW的构建文件
环境变量配置
将\opencv\build\include
配置到系统环境变量中
MinGW准备
下载文件
从官网链接下载适合自己系统的资源文件版本
MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net
对于本教程,推荐下载MinGW-W64 GCC-8.1.0
的x86_64-posix-seh
版本。
同上解压放置到自己心仪的位置,如
C:\Users\25176\MinGW\x86_64-8.1.0-release-posix-seh-rt_v6-rev0
\bin
为二进制文件路径
环境变量配置
将\bin
配置到系统环境变量中
CMake准备
下载文件以及环境变量配置
Download CMake
使用msi安装器自动配置或zip解压手动配置存放位置并将其添加至系统环境变量如`C:\Program Files\CMake\bin
编译源码
从cmd或者gui打开cmake-gui程序。
![[Pasted image 20231215003937.png]]
如图所示在Where is the source code
处填入\opencv\sources
的路径,在Where to build the binaries
处填入\opencv\build\x64\MinGW
的路径。
配置完成后点击Configure
![[Pasted image 20231215004334.png]]
下拉框选择MinGW Makefiles
选项选择Specify native compilers
Next后在C编译器处选择/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/bin/gcc.exe
在C++编译器处选择/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/bin/g++.exe
(路径视情况变化)
注意:现在可以打开VPN进行操作
配置完成后点击Finish,等待进度条完成之后界面中选项变成红色。
![[Pasted image 20231215004850.png]]
再次点击Configure,红色应该消失,下方控制台中会有红色报错信息,尝试再次运行Configure。
如若控制台仍然出现如下图所示的ffmpeg等依赖下载失败红色报错,复制报错信息中的文件链接至浏览器中下载到本地。
控制台最开始输出的几行红色信息无需处理。
![[Pasted image 20231214203528.png]]
导航至配置的build路径下打开CMakeDownloadLog.txt,导航至其中#use-cache
配置的路径处。
![[Pasted image 20231214204104.png]]
找到其中大小为0kb的缓存文件,并下载下来的文件重命名为对应的缓存文件名称。
![[Pasted image 20231214204423.png]]
重新运行Configure。任何下载不下来的文件都如此处理直到错误消除。
另:若出现:No SOURCES given to target: ade
的错误,可尝试取消勾选WITH_ADE
![[Pasted image 20231214235021.png]]
确认无问题之后点击Generate,若终端输出:
Configuring done
Generating done
则表示处理完成。
![[Pasted image 20231214234744.png]]
接下来导航至build目录下,进入终端执行mingw32-make进行编译。
若在编译过程中报错
error: 'Mutex' in namespace 'cv' does not name a type
导致无法继续,则需要将MinGW更换为posix-seh版本。目前自用的版本为
x86_64-8.1.0-release-posix-seh-rt_v6-rev0
待编译无报错完成100%进度后,键入mingw32-make install
进行装载。
操作成功完成后,将\opencv\build\x64\MinGW\bin
配置到系统环境变量。
VSCode配置
方法一:Code Runner拓展
首先将Ctrl+Shift+P调出命令面板导航至C++设置
![[Pasted image 20231215010536.png]]
然后在其中配置MinGW编译器路径和IntelliSense 模式,并将
\opencv\build\x64\MinGW\install\include
\opencv\build\x64\MinGW\install\include\opencv2`
两个路径加入到包含路径中。
![[Pasted image 20231215010450.png]]
由于原生Task较为复杂我们使用拓展Code Runner进行运行,导航至settings.json,在其中找到"code-runner.executorMap"
项,将其中cpp的选项更改为以下命令:
cd $dir && chcp 65001 && g++ $fileName -o $fileNameWithoutExt -I C:/Users/25176/OpenCV/opencv/build/include -L C:/Users/25176/OpenCV/opencv/build/x64/MinGW/bin -l libopencv_calib3d480 -l libopencv_core480 -l libopencv_dnn480 -l libopencv_features2d480 -l libopencv_flann480 -l libopencv_gapi480 -l libopencv_highgui480 -l libopencv_imgcodecs480 -l libopencv_imgproc480 -l libopencv_ml480 -l libopencv_objdetect480 -l libopencv_photo480 -l libopencv_stitching480 -l libopencv_video480 -l libopencv_videoio480 -l opencv_videoio_ffmpeg480_64 && $dir$fileNameWithoutExt
其中-I
后跟/opencv/build/include
地址,-L
后跟/opencv/build/x64/MinGW/bin
地址,-l
后跟bin文件夹中每一个dll文件的文件名。
编辑好命令后可编写测试程序进行运行,注意上述命令的斜杠方向以及格式。
成功运行:![[Pasted image 20231215015229.png]]
方法二:官方配置
暂缺,太他妈的麻烦了也。