Конфигурация VScode С++ версия opencv (про тест)

1. Скачайте установочный пакет

(1) скачать официальный сайт vscode

(2) Загрузка исходного кода Opencv и его библиотеки расширений

Я скачал версию 455, обратите внимание, что версия opencv должна соответствовать версии opencv-contrib.

(3) Загрузка MinGW

(4) скачать cmake

2. компиляция vscode

(1) Разархивируйте четыре установочных пакета и добавьте корзину mingw64 в переменную среды.

 win+R открыть cmd, ввести gcc --version, как показано на рисунке, установка прошла успешно

 (2) компиляция vscode

  • Запустите пакет c-make в каталоге bincmake-gui.exe

  •  Выберите путь исходного кода для компиляции, а затем выберите путь, где хранится компиляция (создайте новую папку самостоятельно).
  •  Нажмите configure, чтобы выбрать MinGW Makefiles, Specify native compilers.
  • Нажмите Next, выберите компилятор, выберите каталог bin MinGW-w64 для C gcc.exeи выберите для C++.g++.exe
  •  Щелкните Finish, и конфигурация запустится автоматически.
  • Найдите дополнительные, добавьте путь расширения (путь opencv_contrib-4.5.3\modules)
  • Нажмите еще раз configure, чтобы завершить настройку generate.
  • После завершения войдите в папку, где хранятся созданные вами результаты компиляции, зажмите Shift и щелкните правой кнопкой мыши, и выберите здесь вход в окно powershell.
  • Введите MinGW32-make -j4, чтобы начать компиляцию, это займет около 1 часа.
    (Параметр -j управляет количеством одновременно скомпилированных ядер процессора, здесь выберите 4, в зависимости от ситуации на вашем компьютере).
  • После завершения компиляции введите MinGW32-make install для установки.
  • Добавить скомпилированные переменные среды opencv

(3).конфигурация vscode

  • c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/application/opencv4.5.3_bulid/install/include",
                "D:/application/opencv4.5.3_bulid/install/include/opencv2"
    
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/application/mingw64/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}
  • запуск.json
// https://code.visualstudio.com/docs/cpp/launch-json-reference
{
    "version": "0.2.0",
    "configurations": [
    {
        "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
        "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
        "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
        "program": "C:\\Windows\\System32\\cmd.exe", // 将要进行调试的程序的路径
        "args": [
            "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "echo.",
                "&",
                "pause"
        ], // 程序调试时传递给程序的命令行参数,一般设为空即可
        "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
        "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
        "environment": [], // 环境变量
        "externalConsole": true, // 使用单独的cmd窗口,与其它IDE一致;为false时使用内置终端
        "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
        "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。
        "miDebuggerPath": "D:/Appdate/mingw64/bin/gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要
        "setupCommands": [
            { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": false
            }
        ],
        "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
    }]
}
  • задачи.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile",
            "command": "D:/Appdate/mingw64/bin/g++.exe",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-g",
                "-m64",
                "-Wall",
                "-static-libgcc",
                "-finput-charset=UTF-8",
                "-fexec-charset=GBK",
                "-std=c++17",
                "-I",
                "D:/Appdate/opencv455_build/install/include",
                "-I",
                "D:/Appdate/opencv455_build/install/include/opencv2",
                "-L",
                "D:/Appdate/opencv455_build/install/x64/mingw/lib",
                "-l",
                "libopencv_calib3d455",
                "-l",
                "libopencv_core455",
                "-l",
                "libopencv_dnn455",
                "-l",
                "libopencv_features2d455",
                "-l",
                "libopencv_flann455",
                "-l",
                "libopencv_gapi455",
                "-l",
                "libopencv_highgui455",
                "-l",
                "libopencv_imgcodecs455",
                "-l",
                "libopencv_imgproc455",
                "-l",
                "libopencv_ml455",
                "-l",
                "libopencv_objdetect455",
                "-l",
                "libopencv_photo455",
                "-l",
                "libopencv_stitching455",
                "-l",
                "libopencv_video455",
                "-l",
                "libopencv_videoio455",
                "-l",
                "libopencv_ximgproc455"
            ],
            "type": "process",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "problemMatcher": "$gcc"
        }
    ]
}
  • тестовый код
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
using namespace cv;

int main()
{
    Mat img = imread("C:/users/14537/desktop/4K.jpg");
    Mat resize_img(img);
    resize(img, resize_img, Size(img.cols/7, img.rows/7));
    imshow("4K", resize_img);
    waitKey(0);
    return 0;
}

ссылка

(158 сообщений) VSCode создает среду OpenCV c++ (windows10)_you_zai's blog-CSDN blog_vscode opencv

Guess you like

Origin blog.csdn.net/zc2441166922/article/details/128467548