VSCode 调试opencv代码

VSCode中安装必须的插件C/C++和Code Runner,可选插件C/C++ Snippets和Include Autocomplete

在MRHead中切换目录至MRCrossPlatform(之前记得sh setup.sh安装项目把头文件复制到指定位置哦)

将test目录拖至VSCode上打开

里面代码也很简单:

#include "mrdir.h"
#include "mropencv.h"
#include "mrutil.h"
#include "fstream"
using namespace std;

void testImage()
{
	cv::Mat img = cv::imread("../opencv.png");
	cv::namedWindow("img", 0);
	cv::imshow("img", img);
	cv::waitKey();
}

int main()
{
	testImage();
	return 0;
}

就是打开指定位置下的图片并显示

在View->Debug中打开调试栏,单击左上角的绿色三角箭头开始调试,会让你配置调试选项,选择C++那项

 

此时,新建了一个名为launch.json的json文件,根据你的习惯修改

"program":"${workspaceFolder}/${fileBasenameNoExtension}.debug.out"

一项,这里指向要调试的程序//标注:${workspaceFolder}为工作空间文件夹,${fileBasenameNoExtension}为当前打开的文件的文件名,不包括路径和后缀名

添加一项参数(注意不要落下逗号),这指的是在调试前要预先执行的任务(因为如果要使用gdb调试需要在编译时添加-g参数,所以不能直接使用运行时的文件,建议两个可执行文件分开命名)

            "preLaunchTask": "build",

按F5调试一次,会提示没有找不到"build",点击配置任务,使用tasks.json模板新建一个Others任务

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format

    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++ ${file} -o ${fileBasenameNoExtension}.debug.out -g `pkg-config --cflags --libs opencv` -std=c++11"
        }
    ]
}

参数label修改为build,根据需要修改编译时使用的command,记得带上-g参数
"command": "g++ ${file} -o ${fileBasenameNoExtension}.debug.out -g `pkg-config --cflags --libs opencv` -std=c++11"
每次调试时选中要调试的文件然后按F5就可以愉快的调试了

其中链接opencv库就是通过pkg-config --cflags --libs opencv命令完成的.

为了不让VSCode在显示opencv相关的代码时提示一堆找不到头文件的警告,可以在c_cpp_properties.json中的configurations下的includePath中添加本机opencv的安装路径,比如:

"/usr/local/Cellar/opencv@3/3.4.5/include"

或者用CMake配置也可,步骤见最后一个参考连接

最要的配置

"program": "${workspaceFolder}/build/${fileBasenameNoExtension}",

无需//"preLaunchTask": "build",

记得在CMakeLists.txt里添加

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") 

开启debug,不然断点调试是无效的,如需去除dubug,只要去掉此就行了。

如果遇到调试时vector内容不能正常显示,可以在launch.json中加上

"miDebuggerPath": "/Applications/Xcode.app/Contents/Developer/usr/bin/lldb-mi" 

参考:

Windows下vscode 中C/C++编译及调试环境的搭建

linux下vscode 中C/C++编译及调试环境的搭建

初学c++ VS code + CMake 编译调试helloWord

使用 Visual Studio Code 搭建 C/C++ 开发和调试环境

你可能感兴趣的:(CV)