【配置】win10+vscode+opencv4+mingw+cmake

配置教程

  • 写在前面
  • 配置
    • mingw64+cmake
    • opencv
    • 环境变量
    • vscode

写在前面

我个人比较喜欢用vscode写代码,以前是感觉写python很方便,后面即便要写C++也不想换编辑器了。相较于vs来说,在vscode上配置opencv的并不算多,在配置的过程中也踩了很多坑,因此写一篇博客记录一下,希望能有帮助。
在vscode上配置opencv之前,先默认已经能够在vscode上实现C++代码的编写和运行了,如果不可以的话,可以看这篇文章:VSCode+win10 C++多文件编译调试

配置

mingw64+cmake

mingw64在之前那篇文章里已经说过如何安装了,非常简单方便。这里就不再叙述。
对于cmake来说,可以直接在官网下载软件进行安装:cmake官网
【配置】win10+vscode+opencv4+mingw+cmake_第1张图片
下载完后,找出它的cmake-gui文件,打开如下:
【配置】win10+vscode+opencv4+mingw+cmake_第2张图片

opencv

在这里下载软件:opencv下载
选择自己想要的就行,我选的是opencv4.5.2,选择这个:
【配置】win10+vscode+opencv4+mingw+cmake_第3张图片
点击它之后会进行解压操作,放在自己想放的位置就行。
这个时候文件里应该是这样的:
【配置】win10+vscode+opencv4+mingw+cmake_第4张图片
我们返回到cmake-gui中,source code和binaries的路径选择如下:
【配置】win10+vscode+opencv4+mingw+cmake_第5张图片
注意的是,这里的MinGW是自己创建的,也就是是一个空的文件夹,你可以取任何名字,但注意的是,后续所有的配置和设置中,都别忘了把MinGW换成你自己取的名字。
然后点击Configure,出现如下界面,选择这些选项:
【配置】win10+vscode+opencv4+mingw+cmake_第6张图片
在选择next,把你之前mingw64下gcc和g++的路径放上去:
【配置】win10+vscode+opencv4+mingw+cmake_第7张图片
点击Finish。这个时候他就会开始自己配置,等到他配置完了之后,界面上应该是红色的,建议往下翻一番,找到BUILD_opencv_world,如果他选择了的话就把勾取消了,我这里是默认不选的:
在这里插入图片描述
然后再点一遍Configure,配置完后,点击Generate(注意,就算BUILD_opencv_world没被选也要再点一遍Configure)
生成完后,你打开刚刚创建的那个MinGW文件,会发现里面多了很多东西。你在这个文件夹下打开powershell,输入命令mingw32-make.exe,这个时候就会开始编译了。建议用多线程,比如mingw32-make.exe -j 4,这样会快一些。这边的时长大概在30min左右。

环境变量

编译完毕后,把以下三个环境变量添加进去:
在这里插入图片描述
有的系统需要重新启动才能生效,有的不需要,自行决定即可。

vscode

我们假设已经能够在终端上打印出“hello world”了(如果不可以,请看VSCode+win10 C++多文件编译调试),那么我们把这一段复制进去:

#include 
#include 
#include 

using namespace cv;
using namespace std;

int main()
{
    cout<<"hello world..."<<endl;
    Mat img=imread("C:\\Users\\cxm\\Desktop\\test.png");
    cv::imshow("image",img);
    cv::waitKey();
    return 0;
}

现在你运行肯定会出错的,因为还没有把opencv添进去。打开你的tasks.json,更改如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\softwares\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-I", "D:\\softwares\\opencv\\build\\include",
                "-I", "D:\\softwares\\opencv\\build\\include\\opencv2",
                "-L", "D:\\softwares\\opencv\\build\\x64\\MinGW\\lib",
                "-l", "libopencv_core452",
                "-l", "libopencv_imgproc452",
                "-l", "libopencv_imgcodecs452",
                "-l", "libopencv_video452",
                "-l", "libopencv_ml452",
                "-l", "libopencv_highgui452",
                "-l", "libopencv_objdetect452",
                "-l", "libopencv_flann452",
                "-l", "libopencv_imgcodecs452",
                "-l", "libopencv_photo452",
                "-l", "libopencv_videoio452",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

注意:
1. 如果你有自定义的头文件,依照按照之前那篇博客所说的方式添加进去
2. 注意我的编号都是452,你可以打开你的opencv\\build\\x64\\MinGW\\iib文件,看一下你的编号是什么,这里一定一定一定要更改掉,千万不要一股脑就直接复制不管了!!!
3. 路径换成自己的

然后,你在.vscode下再创建一个文件叫c_cpp_properties.json,复制如下内容:

{
    "configurations": [
        {
            "name": "win",
            "includePath": [
                "${workspaceFolder}/**",
                "D:\\softwares\\opencv\\build\\include",
                "D:\\softwares\\opencv\\build\\include\\opencv2"            
            ],
            "defines": [],
            "compilerPath": "D:/softwares/mingw64/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

注意把路径换成的

这个时候,你再在main.cpp下运行,就没问题了

你可能感兴趣的:(配置,编程,图像,vscode,opencv,visual,studio)