栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Ubuntu20.04 配置VScode+Opencv+cmake(C++)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu20.04 配置VScode+Opencv+cmake(C++)

  下面介绍Ubuntu20.04下安装opencv,然后将VScode链接到opencv
先主体按照—>点我:链接1<—安装,但是特别注意:安装依赖库的时候会失败,需要增加源,再把下列命令替换

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"


sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

替换为下列命令

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff-dev

这时候我们依赖库已经安装好了,可以选择不装python的支持,毕竟我们是C++的嘛~
安装好后,我们需要配置c_cpp_properties.json、launch.json、tasks.json(如果vscode没有这三个文件,先自行百度怎么弄出这三个文件来)

  接下来我贴出三个文件的配置来
c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",               
                "/usr/include/opencv4", //请确保你的opencv opencv2头文件夹安装在这个目录
                "/usr/include/opencv4/opencv2"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4

launch.json

{
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",                                 // 只能是cppdbg
            "request": "launch",                              // launch:启动,attach:附加
            "program": "${fileDirname}/${filebasenameNoExtension}",   // 需要调试的程序
            "args": [],                                       // 调试时传递给程序的参数
            "stopAtEntry": false,                             // 调试时是否停在程序入口:{true:是,false:否}
            "cwd": "${workspaceFolder}",                      // 工作目录
            "environment": [],                                // 额外的环境变量
            "externalConsole": false,                         // true:输出到外部终端;false:只输出到软件终端(有显示不全的可能)
            "MIMode": "gdb",
            "setupCommands": [      // 暂时不知道作用
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file",   // 预编译任务名称,和tasks.json中的label必须相同
            "miDebuggerPath": "/usr/bin/gdb"                   // 调试gdb路径
        }
    ]

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-g","-std=c++11", 
                //"${file}",                            // 单个cpp文件
                "${workspaceFolder}/Demo/*.cpp",        // 多个cpp文件
                "${workspaceFolder}/src/*.cpp",
                "-o", 
                "${fileDirname}/${filebasenameNoExtension}",  // 要调试的程序,必须与launch.json文件中的"program"相同
                "-I", "${workspaceFolder}/include",     // 项目include文件
                "-I", "$/usr/include/opencv4",          // opencv安装的include文件路径
                "-I", "$/usr/include/opencv4/opencv2",  
                "-L", "$/usr/local/lib",                //opencv安装的lib文件路径
                "-l", "opencv_core",                    //.so文件,文件原名称“libopencv_core.so”,注意需去除“lib”
                "-l", "opencv_imgproc",
                "-l", "opencv_imgcodecs",
                "-l", "opencv_video",
                "-l", "opencv_ml",
                "-l", "opencv_highgui",
                "-l", "opencv_objdetect",
                "-l", "opencv_flann",
                "-l", "opencv_imgcodecs",
                "-l", "opencv_photo",
                "-l", "opencv_videoio",    
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "detail": "调试器生成任务"
        }
    ],
    "version": "2.0.0"

  至此我们已经配置好了,那么可以来测试下啦(如下图,自己加上test.jpg)

贴出测试代码

#include
#include
#include
#include 
using namespace std;
using namespace cv;
int main()
{
    Mat srcImage=imread("test.jpg");
    imshow("Origin",srcImage);
    waitKey(0);
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311959.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号