ubuntu下vscode+opencv3 编译 调试c++ json配置 cmakelists.txt配置

参考(感谢!):https://blog.csdn.net/u012435142/article/details/82952302

配置json

launch.json

{
    // 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中定义。

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进行改动。

c_cpp_properties.json

如果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
}

配置CMakeLists.txt

# 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})   # 目标文件,库路径 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值