Ubuntu在VScode配置OpenCV(C++)环境(.json文件)

创建一个test文件,用VScode打开

c9989c28874a495cbe477e3c3899f691.png

1)按住ctrl+shift+P搜索launch.json,点击打开即可

(2)按住ctrl+shift+P 打开第一个

ce2f0a5c681348abbe49cf29943f27fe.png

(1)、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": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}", //程序文件路径
            "args": [], //程序运行需传入的参数
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false, //运行时是否显示控制台窗口
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

(2)、tasks.json文件

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file", /* 与launch.json文件里的preLaunchTask的内容保持一致 */
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++11",
                "-g",
                //"${file}",   /* 编译单个文件 */
                "${fileDirname}/*.cpp", /* 编译多个文件 */
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}", /* 输出文件路径 */
                /* 项目所需的头文件路径 */
                "-I",
                "${workspaceFolder}/",
                "-I",
                "/usr/local/include/",
                "-I",
                "/usr/local/include/opencv4/",
                "-I",
                "/usr/local/include/opencv4/opencv2",
                /* 项目所需的库文件路径 */
                "-L",
                "/usr/local/lib",
                /* OpenCV的lib库 */
                "/usr/local/lib/libopencv_*"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

(3)、c_cpp_properties.json文件

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/include/opencv4",
                "/usr/include/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64",
            "configurationProvider": "ms-vscode.makefile-tools"
        }
    ],
    "version": 4
}

(4)测试

创建一个test.cpp文件,输入测试代码

#include <opencv2/opencv.hpp>
#include <string>
#include <iostream>
using namespace std;

int main(int argc, char* argv[]) {
    string Path = "test.jpg";//此处为的图片路径
    //从文件中读入图像
    cv::Mat img = cv::imread(Path, 1);
    //如果读入图像失败
    if (img.empty()) {
       cout<< "Not Found image"<<endl;
       
        return -1;
    }
    cv::imshow("image", img); //显示图像
    cv::waitKey();
    return 0;
}

图片显示成功,配置完成!(若成功运行仍有报错显示,重启VScode即可)

b7d99055493f4fe7b469dec84f33b993.png

 

 

 

 

 

### 配置 Linux 下 VSCode 支持 OpenCV C++ 开发 #### 安装必要依赖项 为了使 VSCode 能够支持 OpenCVC++ 开发,首先需要确保系统已经安装了必要的软件包。这通常包括编译工具链以及 OpenCV 库本身。 对于基于 Debian 或 Ubuntu 的发行版,可以通过以下命令来安装这些必需的组件: ```bash sudo apt update && sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr \ libatlas-base-dev qtbase5-dev libcanberra-gtk* -y ``` 接着下载并构建 OpenCV 及其贡献模块(如果需要的话)。可以利用 `git` 获取源码,并通过 `cmake` 来管理项目的构建过程[^1]。 #### 设置 VSCode 编辑器 一旦完成了上述准备工作,则可以在 VSCode 中创建一个新的工作区,并按照如下方式配置编辑器以便更好地处理 C++OpenCV 项目。 ##### 创建 `.vscode` 文件夹及其子文件 在项目根目录下新建名为`.vscode`的隐藏文件夹,该文件夹内应包含至少三个 JSON 格式的配置文件:`tasks.json`, `launch.json` 和 `c_cpp_properties.json`. ###### tasks.json文件定义了一组任务供终端执行,比如编译程序等。下面是一个简单的例子,它指定了如何调用 `g++` 进行编译操作: ```json { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "/usr/bin/cmake", "args": [ "-S.", "-B./out/build/x64-debug", "-DCMAKE_BUILD_TYPE=Debug" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task." } ] } ``` 请注意这里的参数可能依据个人需求有所不同;特别是当使用特定版本的编译器或其他选项时应该相应调整[^4]. ###### launch.json 这个文件用来指定启动配置,即告诉调试器怎样运行和停止应用程序。这里给出一个适用于 GDB 的基本模板: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/your_executable_file_name", // 替换成实际可执行文件名 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build", "miDebuggerPath": "/usr/bin/gdb", "logging": {"trace":true,"traceResponse":true}, "internalConsoleOptions": "openOnSessionStart" } ] } ``` 同样地,“${workspaceFolder}”代表当前的工作空间路径,而“your_executable_file_name”则需替换为具体的输出文件名称. ###### c_cpp_properties.json 最后一个是 IntelliSense 所使用的属性表单,用于提供代码补全和其他智能感知功能。以下是针对本案例的一个实例化片段: ```json { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/local/include/opencv4", "/usr/include/opencv4" ], "defines": [], "compilerPath": "/usr/bin/gcc", "intelliSenseMode": "linux-gcc-x64", "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 4 } ``` 在此处添加所有相关的头文件位置到 `"includePath"` 数组里,这样可以让 IDE 正确解析外部库函数声明.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值