【Windows】使用VS code 配置c++ opencv环境

1.vs code安装

下载可能较慢,加速下载见【Windows】VS Code快速下载方法
然后正常安装就行。

2.opencv下载

官方下载可能也是很慢,有位兄弟做了镜像,可以在Index of /opencv/这里下载,各个版本都有。
下载好解压到D:\opencv文件夹
opencv\build\x64路径新建一个文件夹MinGW

3.MinGW配置

如果有安装过其他的IDE,例如DEVCPPqt这类,可以直接找下它们的MinGW目录,直接拷贝到D:\MinGW64,如果没有的话,可以下载安装MinGW
然后在环境变量里加上D:\MinGW64\bin
检查是否配置环境成功,进cmd命令行输入

gcc --version

在这里插入图片描述
如上图则配置成功。

4.CMake配置

进入cmake官网下载,下好后安装,安装比较简单,注意添加环境变量。
打开cmake-gui.exe,源文件选择D:/opencv/sources,build文件夹选择D:/opencv/build/x64/MinGW,点击configure 按钮
选择
【Windows】使用VS code 配置c++ opencv环境_第1张图片
选择mingw的编译器,刚刚步骤三配置的目录D:\mingw64\bin
c 选择gcc, c++选择g++
【Windows】使用VS code 配置c++ opencv环境_第2张图片
点击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需要手动配置的话就是四个。
在这里插入图片描述

5.配置项目

打开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运行,可以看到图片,配置成功。

Ref

1.将 VSCode 打造成 OpenCV 的 IDE(C++,window10 1803)
2.win10下 VSCode配置OpenCV源码编译

你可能感兴趣的:(c++,windows,VScode,opencv,windows,vscode)