一、配置MinGW
1.首先配置MSYS2环境,其是一个在windows下类似与linux的管理包的环境。
2.安装好MSYS2后,在其中安装mingw-w64,详细步骤见链接中教程 。
3.在系统——环境变量——系统变量——path中添加库路径。
二、配置OpenCV-4.5.5
1.首先在OpenCV官网下载源码,选择Sources。
2.在GitHub上下载contrib,注意版本号要一致。
3.下载好后,解压到自定义的文件夹中,将contrib也解压到该文件夹中。
4.使用CMake GUI界面进行编译,可在CMake官网下载。
1)选择OpenCV源码所在路径和编译文件所在路径,单击【Configure】按钮
2)注意这里的选择 。
3)选择刚配置好的编译器。
单击【Finish】后,在cmake界面会出现很多变量。
4)找到OPENCV_GENERATE_PKGCONFIG和OPENCV_ENABLE_NONFREE在其后面的方框上打勾。前者会生成一个pkg-config的路径使得pkgconfig能够自动传递库路径给g++进行编译。
5)找到OPENCV_EXTRA_MODULES_PATH变量,选择路径为opencv_contrib-4.5.5中的module文件夹。也可以根据自己需求选择不同的扩展功能所对应的文件夹。
6)再次单击【Configure】,显示Configuring done后单击【Generate】。
5.在Confugue过程中,可能会出现一些文件无法下载的情况,比如ffmpeg相关文件等。
1)在Github上下载相关的库,需要下载库的具体名称可查看source path/3rdparty/ffmpeg中的ffmpeg.cmake文件,在第一行可以看到所需的分支名称,如:
2)下载好后解压。无法下载的文件在source path/.cache中,解压后找到与.cache文件夹中相同的文件(忽略前面的哈希值),并替换,同时将对应的哈希值添加上去,与无法下载的文件名称保持一致即可。
3)其他文件与此类似。
6.打开cmd,进入源码文件夹,新建一个build文件夹并进入该文件夹,编译后的文件都存放在这里
1)在命令行输入
mingw32-make
2)make结束后,输入
mingw32-make install
7.最后在系统——环境变量——系统变量——path中添加OpenCV库路径。
三、配置VS Code
1.修改.vscode文件夹中的.json文件
1)c_cpp_properties.json中修改includePath,compilerPath,intelliSenseMode等。
{
"configurations": [
{
"name": "gcc-g++",
"includePath": [
"${workspaceFolder}/**",
"D:/Apps/opencv-4.5.5/build/include",
"D:/Apps/opencv-4.5.5/build/install/include",
"D:/Apps/opencv-4.5.5/build/install/include/opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "D:/Apps/msys2/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
2)其他json文件可参考VS Code官方文档。