参考(感谢!):https://blog.csdn.net/u012435142/article/details/82952302
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.o",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"preLaunchTask": "build",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
注意:"preLaunchTask": "build"
,是默认launch.json
中没有的,表示执行文件前需要的编译任务。具体的任务内容在task.json
中定义。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
// "taskName": "echo",
"label": "build",
"type": "shell",
"command": "/usr/bin/g++",
"args":[
"-g", "${file}","-o","${fileBasenameNoExtension}.o",
"-I","/usr/local/include",
"-I","/usr/local/include/opencv",
"-I","/usr/local/include/opencv2",
"-L","/usr/local/lib",
"-l","opencv_core",
"-l","opencv_highgui",
"-l","opencv_imgproc",
"-l","opencv_imgcodecs",
"-l","opencv_video",
"-l","opencv_videoio"
],
}
]
}
“label”: “build"表示以下是名为build的任务配置 配合launch.json
中的"preLaunchTask": "build"
,
“command”: “g++”,表示调用的编译器是g++
args表示command的命令,其中“-I”表示包含目录,”-L"表示库目录路径,"-l"表示库文件,根据需要的lib进行改动。
如果opencv安装在了默认目录/usr/local,那么VScode会自动搜索该目录,实现opencv自动补全和智能提示;否则,需要配置c_cpp_properties.json文件,将includePath配置为opencv安装目录。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/include",
"/usr/local/include/opencv",
"/usr/local/include/opencv2"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
# cmake needs this line 要求的最低版本
cmake_minimum_required(VERSION 2.8)
# Define project name 定义工程名
project(HullDetect)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI 自动查找库
find_package(OpenCV REQUIRED)
# Declare the executable target built from your sources 声明可执行目标文件及源文件
add_executable(HullDetect HullDetect.cpp) # 目标文件,源文件0,源文件1,...
# Link your application with OpenCV libraries 将目标文件与库链接
target_link_libraries(HullDetect ${OpenCV_LIBS}) # 目标文件,库路径