Ubuntu环境下VScode配置OpenCV的C++开发环境

16 篇文章 0 订阅
11 篇文章 0 订阅

 任务描述:ubuntu下在vs code内配置opencv的c++环境, 并运行示例代码。

 

step 0. 写在前面的话

我的环境是Ubuntu18,OpenCV3.4.1+contrib3.4.1,VScode都是已经安装好的。

其中opencv的配置请参考ubuntu下opencv的配置。VScode是直接在商城中搜索下载即可。

 

step 1. vs code插件安装

如下图,给vs code安装C/C++插件。

step 2. 新建一个文件夹,在vs code内新建文件,编写如下调试代码。

我们的配置过程分为两个阶段:C++编译环境和opencv开发环境。

step 3. C++编译环境的配置

Debug -> Open Configurations -> 打开备选框 -> C++(GDB/LLDB) -> g++ build and debug active file

上述操作打开launch.json文件,修改其中的设置项。修改后如下:

    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "g++ build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]

其中需要重点注意的几个地方在于:

(1)"externalConsole": true  关键字修改为true,指的是弹出命令窗口。

(2)"preLaunchTask": "g++ build active file"  后面的配置需要用到这个关键字。

然后回到测试代码的文件,注销掉与opencv相关的代码(因为)我们目前仅针对C++编译环境进行配置,点击F5运行,出现如下提示:

选择Configure Task,在备选框中选择C/C++:cpp build active file选项,则新建一个task.json文件。

修改文件配置如下:

//> 编译单个文件

    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "g++ build active file",
            "command": "g++",
            "args": [
                "-g","-std=c++11", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}",
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        }
    ]


//> 编译多个文件

    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "g++ build active file",
            "command": "g++",
            "args": [
                "-g","-std=c++11", "${fileDirname}/*.cpp", "-o", "${fileDirname}/${fileBasenameNoExtension}",
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        }
    ]

其中,需要注意的几点是:

(1)"label": "g++ build active file"  关键字必须与前述launch.json文件的"preLaunchTask": "g++ build active file"关键字一致。

(2)"command": "g++" 关键字要修改为g++,否则可能会报不能debug的提示。

(3)"args": [ "-g", "-std=c++11", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ] 关键字就是g++的编译指令。

此时,就可以运行CPP代码了,回到测试文件,点击F5,会在控制台输出Hello world的字符,如图。

step 4. 配置Opencv的开发环境

这一步的主要思路,与在windows环境下为VS配置Opencv开发环境是一致的,即:将include的头文件所在路径和函数库的路径 

设置给编译器。

Ctrl + Shift + P 打开搜索框,键入c++,会出现备选项目,选择图示Edit configurations (JSON),

进入c_cpp_properties.json文件内进行配置修改。修改如下:

"configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4

主要注意的地方在于:

"includePath" 选项内添加关键字路径 "/usr/local/include",这里面存放的是opencv和opencv2两个文件,如图:

另外在task.json文件内添加如下修改:

"args": [
                "-g", "-std=c++11", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}",
                "-I", "/usr/local/include",
                "-I", "/usr/local/include/opencv",
                "-I", "/usr/local/include/opencv2",
                "-L", "/usr/local/lib",
                "-l", "opencv_aruco",
                "-l", "opencv_bgsegm",
                "-l", "opencv_bioinspired",
                "-l", "opencv_calib3d",
                "-l", "opencv_ccalib",
                "-l", "opencv_core",
                "-l", "opencv_datasets",
                "-l", "opencv_dnn_objdetect",
                "-l", "opencv_dnn",
                "-l", "opencv_dpm",
                "-l", "opencv_face",
                "-l", "opencv_features2d",
                "-l", "opencv_flann",
                "-l", "opencv_freetype",
                "-l", "opencv_fuzzy",
                "-l", "opencv_hfs",
                "-l", "opencv_highgui",                
                "-l", "opencv_imgcodecs",
                "-l", "opencv_img_hash",
                "-l", "opencv_imgproc",
                "-l", "opencv_line_descriptor",
                "-l", "opencv_ml",
                "-l", "opencv_objdetect",
                "-l", "opencv_optflow",
                "-l", "opencv_phase_unwrapping",
                "-l", "opencv_photo",
                "-l", "opencv_plot",
                "-l", "opencv_reg",
                "-l", "opencv_rgbd",
                "-l", "opencv_saliency",
                "-l", "opencv_shape",
                "-l", "opencv_stereo",
                "-l", "opencv_stitching",
                "-l", "opencv_structured_light",
                "-l", "opencv_superres",
                "-l", "opencv_surface_matching",
                "-l", "opencv_text",
                "-l", "opencv_tracking",
                "-l", "opencv_videoio",
                "-l", "opencv_video",
                "-l", "opencv_videostab",
                "-l", "opencv_xfeatures2d",
                "-l", "opencv_ximgproc",
                "-l", "opencv_xobjdetect",
                "-l", "opencv_xphoto",
            ],

其中:“-I”指令后面的头文件坐在路径,“-L”后面是库文件所在路径,“-l” 后面是库的名字。

注意:此处有个坑就是,库的名字一定要按照上述文档中的方式写,即“opencv_XXX”,而不能按照传统上linux的库名“libopencv_XXX”,否则编译会报错说找不到函数库。

step 5. 回到测试文件,F5运行如下

但是似乎这种方法每次新开一个工程都需要再配置一遍,后面再研究一下一劳永逸的方法吧!

本文内容参考了参考1参考2参考3,感谢这些博主们的分享!

  • 30
    点赞
  • 214
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
要在 VSCode配置 OpenCV C 环境,你需要按照以下步骤进行操作: 步骤 1:安装 MinGW 1.1 下载 MinGW 安装程序并运行:https://sourceforge.net/projects/mingw-w64/ 1.2 在安装向导中选择适合你操作系统的版本,比如 x86_64 或 i686。 1.3 设置安装路径,并确保将安装目录添加到系统的环境变量 PATH 中。 步骤 2:安装 C/C++ 扩展 2.1 打开 VSCode,并在扩展面板中搜索并安装 "C/C++" 扩展(由 Microsoft 提供)。 2.2 安装完成后重新启动 VSCode。 步骤 3:创建 C 项目 3.1 在 VSCode 中创建一个新的文件夹,并打开该文件夹。 3.2 在该文件夹中创建一个新的 C 文件,比如 "main.c"。 3.3 在 "main.c" 中输入你的 OpenCV C 代码。 步骤 4:配置 tasks.json 4.1 在 VSCode 中按下 Ctrl + Shift + P,然后输入 "Tasks: Configure Default Build Task" 并选择 "Create tasks.json file from template"。 4.2 从模板列表中选择 "Others"。 4.3 在生成的 tasks.json 文件中,修改 "command" 的值为 MinGW 的 gcc 编译器路径(比如 C:/MinGW/bin/gcc.exe)。 4.4 修改 "args" 的值为 ["-g", "${file}", "-o", "${fileBasenameNoExtension}.exe", "-mwindows", "-lopencv_core", "-lopencv_highgui", "-lopencv_imgproc", "-lopencv_imgcodecs"]。 步骤 5:构建和运行 5.1 按下 Ctrl + Shift + B 构建项目,这将会自动编译并生成可执行文件。 5.2 运行生成的可执行文件。 这样就完成了在 VSCode配置 OpenCV C 环境的过程。确保你已经按照步骤正确安装了 MinGW,并在编译参数中包含了正确的 OpenCV 库文件路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值