在进入main.cpp文件后,通过ctrl+shift+p
调出命令行窗口,点击配置任务,没有的自行搜索Task

再选择使用g++ build active file
生成的模版如下

注意:“label”那一行,要和前面的
launch.json
中的”preLaunchTask”: “g++”这里写的一样,因为前面launch.json
中的”preLaunchTask”里我改为了g++,所以这里我也改为g++,vscode默认的是g++.exe build active file
【
launch.json
(”preLaunchTask”: “g++.exe build active file”)和tasks.json
(”label”: “g++.exe build active file”),都是默认的这个,当然无论是什么,只要保持一致就行 】
修改后
{
"version": "2.0.0",
"tasks": [
{
"type": "shell", /* 定义任务是被作为进程运行还是在 shell 中作为命令运行,默认是shell,即是在终端中运行,因为终端执行的就是shell的脚本 */
"label": "build", /* 要与launch.json文件里的preLaunchTask的内容保持一致 */
"command": "/usr/bin/g++", /* 这里填写你的编译器地址 */
"args": [
/* 类似与qt的Pro文件里开始的那几句 */
"-std=c++11",// 静态链接
"-static-libgcc",
"-Wall",// 开启额外警告
/* 说明整个项目所需的头文件路径(.h)*/
"-I","${workspaceFolder}/",
"-I","/usr/local/include/",
"-I","/usr/local/include/opencv4/",
"-I","/usr/local/include/opencv4/opencv2/",
/* 说明整个项目所需的源文件路径(.cpp) */
"-g",
"${workspaceFolder}/main.cpp",/* ${workspaceFolder}表示路径从当前项目文件夹开始 */
"-o", /* 编译输出文件的存放路径 */
"${fileBasenameNoExtension}.o", /* 要与launch.json文件里的program的内容保持一致 */
/* ${fileDirname} 是指 文件目录名 相当于${workspaceFolder}*/
/* ${fileBasenameNoExtension}意思是指 该路径下没有扩展名的文件基本名称没有扩展名 */
/* 也可以这样:"${workspaceFolder}/run.o", */
/* OpenCV的lib库 */
"/usr/local/lib/libopencv_*",
],
"options": {
"cwd": "${workspaceFolder}" /* 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录 */
},
"problemMatcher": [
"$gcc" /* 要使用的问题匹配程序。 */
],
"group": "build" /* 将任务标记为可通过 "运行生成任务" 命令访问的生成任务。*/
}
]
}