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++ 开发和调试环境