下载可能较慢,加速下载见【Windows】VS Code快速下载方法
然后正常安装就行。
官方下载可能也是很慢,有位兄弟做了镜像,可以在Index of /opencv/这里下载,各个版本都有。
下载好解压到D:\opencv
文件夹
在opencv\build\x64
路径新建一个文件夹MinGW
如果有安装过其他的IDE,例如DEVCPP
、qt
这类,可以直接找下它们的MinGW
目录,直接拷贝到D:\MinGW64
,如果没有的话,可以下载安装MinGW
。
然后在环境变量里加上D:\MinGW64\bin
,
检查是否配置环境成功,进cmd命令行输入
gcc --version
进入cmake官网下载,下好后安装,安装比较简单,注意添加环境变量。
打开cmake-gui.exe
,源文件选择D:/opencv/sources
,build文件夹选择D:/opencv/build/x64/MinGW
,点击configure 按钮
选择
选择mingw的编译器,刚刚步骤三配置的目录D:\mingw64\bin
c 选择gcc, c++选择g++
点击Finish,等进度条读完,然后出现Configuring done,之后点击Generate 等进度条读完,有 Generating done。
为了保险起见,安装python,直接在微软商店里面搜索python就可以安装,然后自动添加到环境变量,在cmd中可以尝试输入python看是否安装成功。
接下来,以管理员权限运行cmd, 先切换盘符,输入
D:
接下来,进入目录,输入
cd D:\opencv\build\x64\MinGW
接着输入
minGW32-make
进行编译,编译需要花一段时间,可以去泡杯茶喝着等,
D:\opencv\build\x64\MinGW>minGW32-make
Scanning dependencies of target zlib
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/compress.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/crc32.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/deflate.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzclose.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzlib.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzread.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzwrite.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inflate.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/infback.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inftrees.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inffast.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/trees.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/uncompr.c.obj
[ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/zutil.c.obj
[ 2%] Linking C static library ..\lib\libzlib.a
[ 2%] Built target zlib
Scanning dependencies of target libjpeg-turbo
[ 2%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcapimin.c.obj
[ 2%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcapistd.c.obj
[ 2%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jccoefct.c.obj
编译完成之后,就进行安装了
输入
minGW32-make install
D:\opencv\build\x64\MinGW>minGW32-make install
[ 2%] Built target zlib
[ 5%] Built target libjpeg-turbo
[ 7%] Built target libtiff
[ 15%] Built target libwebp
[ 17%] Built target libopenjp2
[ 18%] Built target libpng
[ 24%] Built target IlmImf
[ 29%] Built target libprotobuf
[ 29%] Built target quirc
安装完成后,新增一下环境变量D:\opencv\build\x64\MinGW\bin
总共需要配置的环境变量有三个,如果python需要手动配置的话就是四个。
打开VS code,安装一个 C/C++ 插件(C++ Intellisense )
然后新建一个项目文件夹,在vscode中打开,文件夹中建一个.vscoe
文件夹,这是配置文件所在的文件夹。
在.vscoe
文件夹中新建launch.json
文件,
复制如下代码,将 "miDebuggerPath"
改成自己的。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"preLaunchTask": "g++.exe build active file",
"type": "cppdbg",//只能为cppdbg
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
"args": [],//调试传递参数
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MinGW64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
在.vscoe
文件夹中新建c_cpp_properties.json
文件,复制如下代码,修改includePath
的后三个路径为自己的,compilerPath
也对应修改成自己的。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:\\opencv\\build\\include",
"D:\\opencv\\build\\include\\opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:/MinGW64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
在.vscoe
文件夹中新建task.json
文件,复制如下代码,修改"-I"
和 “-L”
的路径为自己的,还有一个重要的问题,"-l"
后面的文件对应的数字一定要查看一下,可以在D:\opencv\build\x64\MinGW\bin
这个文件夹里查看一下后面的版本,我之前就是复制别人的代码没有更改后面的版本,导致后面的编译一直出错,总是报cannot find 这些链接库。
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "D:/MinGW64/bin/g++.exe",
"args": [
"-g","-std=c++11",
"-fexec-charset=GBK", // 处理mingw中文编码问题
"-finput-charset=UTF-8",// 处理mingw中文编码问题
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I", "D:\\opencv\\build\\include",
"-I", "D:\\opencv\\build\\include\\opencv2",
"-L", "D:\\opencv\\build\\x64\\MinGW\\lib",
"-l", "opencv_core452",
"-l", "opencv_imgproc452",
"-l", "opencv_imgcodecs452",
"-l", "opencv_video452",
"-l", "opencv_ml452",
"-l", "opencv_highgui452",
"-l", "opencv_objdetect452",
"-l", "opencv_flann452",
"-l", "opencv_imgcodecs452",
"-l", "opencv_photo452",
"-l", "opencv_videoio452"
],
"options": {
"cwd": "D:/MinGW64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
接下来,新建一个test.cpp,
#include
#include
using namespace cv;
int main()
{
Mat img=imread("C:\\Users\\xxx\\Desktop\\1.jpg");
cv::imshow("image",img);
cv::waitKey();
return 0;
}
按f5运行,可以看到图片,配置成功。
1.将 VSCode 打造成 OpenCV 的 IDE(C++,window10 1803)
2.win10下 VSCode配置OpenCV源码编译