实验记录之——mac用visual studio code配置opencv

安装opencv

用Homebrew安装opencv

brew install wget
brew install cmake
brew install opencv

 

 

看来都安装过了hhh

通过下面命令再次检测安装的opencv版本

brew info opencv

 全部都打绿色的勾,应该就是都安装完了。

Vscode配置c/c++环境

配置cpp项目可以看下面链接:VScode C++环境配置 (MAC) - 知乎

首先安装扩展包

C/C++

CodeLLDB

然后创建一个cpp文件

#include <iostream>
using namespace std;
int main(){
    cout << "hello world" << endl;
    return 0;
}

 直接点击调试,点击运行调试

 选择C++(GDB/LLDB)

 此处好像不太行。。。

改为安装下面的依赖

然后调试就自动生成文件

 然后运行即可

把代码改为以下内容试试

#include<iostream>
#include<string>
#include<vector>
using namespace std;

int main(){
    int b = 1;
    auto a = b;
    cout << a << endl;
    vector<string> msg{"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    int len = msg.size();
    cout << "长度" << len << endl;
    for (int i=0; i<5; i++){
        // ms.push_back("a");
        cout << i << endl;
    }

    return 0;
}

  却报错

 原因是目前的编译不支持C++11及以后的标准。感觉这种编译方式还是有问题。

改为尝试此链接:vsCode Mac版 配置C/C++,并运行代码_mac vscode怎么运行c++代码_水w的博客-CSDN博客

采用vscode调试运行,点击右侧的调试按钮点击运行和调试箭头,选择“run code”

 

 好像这样运行更直接,试试加上opencv是否可行。

不行。。。

需要把下面三个文件存放在项目文件夹下面的 .vscode 文件夹内。

  • c_cpp_properties.json:这个文件的作用是配置 vscode 配置整体的 C++ 的环境,就是要告诉 vscode IDE,我们有哪些需要进行 include 的头文件 .hpp 和库文件 .lib,把这个理解为一个准备工作。
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/Cellar/opencv/4.5.3/lib/**",
	            "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
            ],
            // “includePath” 后面就是放的就是头文件和库文件所在的路径,每个人的情况不同,可以把下面的路径输入进去查找一下有没有对应的文件,以进行确认。
            // 后面的两个星号 ** 表示递归查找,就是查找目标目录的同时,该目录下的子目录也一并查找。
            "defines": [],
            "macFrameworkPath": [],
            "compilerPath": "/usr/local/bin/gcc-11",
            "cStandard": "gnu17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "macos-gcc-x64"
        }
    ],
    "version": 4
}

要查位置可以使用如下方式:

打开访达,然后搜索。

  • launch.json:这个是 vscode 用于调试的配置文件,比如指定调试语言环境,指定调试类型等。这里最重要的是 "preLaunchTask" 的设置,表示在运行这个调试之前,需要告诉编译器哪些前置条件。其实也就是把 tasks.json 关联进来。
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "g++-11 - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            // "program": "${fileDirname}/${fileBasenameNoExtension}",
            "program": "/Users/guanweipeng/Desktop/project/main",
            "args": [],
            "stopAtEntry": false,
            // "cwd": "${fileDirname}",
            "cwd": "/Users/guanweipeng/Desktop/project",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "C/C++: g++-11 生成活动文件"
        }
    ]
}
  • tasks.json:这个文件是编译的配置,设置你在编译的过程中需要用到哪些库文件和头文件,用什么编译器,用什么编译方式等,都可以在这里进行设置。这里的关键在于 "label" 的设置一定要和 launch.json 中的 "preLaunchTask" 一致!
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++-11 生成活动文件",
			"command": "/usr/bin/clang++",
			"args": [
				"-std=c++17",//使用C++17
				"-stdlib=libc++",
				"-g",
				"${file}",
				"-o",
				// "${fileDirname}/${fileBasenameNoExtension}",
                "/Users/guanweipeng/Desktop/project/main",
				"`pkg-config",
				"--libs",
				"--cflags",
				"opencv4`"
			],
			"options": {
				"cwd": "${workspaceFolder}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "C/C++: g++-11 生成活动文件"
		}
	]
}

此次可以看到include opencv不会标红色

 然后再进入工作区的选项,找到 C/C++ ,然后右边找到 C_Cpp > Default: Include Path ,在里面添加头文件和库文件的路径。

 

然后出现文件目录如下:

 

setting里面的内容为:

{
    "C_Cpp.default.includePath": [
        "/usr/local/Cellar/opencv/4.5.3/lib/",
        "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
    ]
}

 添加cpp标准

{
    "C_Cpp.default.cppStandard": "c++17",
    "C_Cpp.default.includePath": [
        "/usr/local/Cellar/opencv/4.5.3/lib/",
        "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
    ]
}

可以!

 

参考资料

【OpenCV4】fatal error: opencv2/core.hpp: No such file or directory 解决方法_AItrust的博客-CSDN博客

【OpenCV4】Mac 系统下使用 vscode 配置 c++ 版 OpenCV4.5.4 成功(2022年1月22日)_AItrust的博客-CSDN博客

mac vscode配置opencv-掘金

macOS版homebrew+VScode配置opencv(c/c++)亲测可用_々云逸的博客-CSDN博客

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
含有Visual Studio的属性表配置,需要改下自己的路径即可使用 教程请参考 https://blog.csdn.net/yl_best/article/details/89190142 OpenCV3.4.2 + VS2013 + CMake3.12.1 with Contrib3.4.2 without hdf module without BUILD_opencv_world Release && Debug: many dll/lib General configuration for OpenCV 3.4.2 ===================================== Version control: unknown Extra modules: Location (extra): D:/software/OpenCV/SourceCode/opencv_contrib-3.4.2/modules Version control (extra): unknown Platform: Timestamp: 2019-04-9 Host: Windows 10.0.16299 AMD64 CMake: 3.12.1 CMake generator: VC12 Visual Studio 2013 CMake build tool: VC12 Visual Studio 2013 Configuration: Release && Debug OpenCV342_debug: opencv_aruco342d.lib opencv_bgsegm342d.lib opencv_bioinspired342d.lib opencv_calib3d342d.lib opencv_ccalib342d.lib opencv_core342d.lib opencv_datasets342d.lib opencv_dnn342d.lib opencv_dnn_objdetect342d.lib opencv_dpm342d.lib opencv_face342d.lib opencv_features2d342d.lib opencv_flann342d.lib opencv_fuzzy342d.lib opencv_hfs342d.lib opencv_highgui342d.lib opencv_imgcodecs342d.lib opencv_imgproc342d.lib opencv_img_hash342d.lib opencv_line_descriptor342d.lib opencv_ml342d.lib opencv_objdetect342d.lib opencv_optflow342d.lib opencv_phase_unwrapping342d.lib opencv_photo342d.lib opencv_plot342d.lib opencv_reg342d.lib opencv_rgbd342d.lib opencv_saliency342d.lib opencv_shape342d.lib opencv_stereo342d.lib opencv_stitching342d.lib opencv_structured_light342d.lib opencv_superres342d.lib opencv_surface_matching342d.lib opencv_text342d.lib opencv_tracking342d.lib opencv_video342d.lib opencv_videoio342d.lib opencv_videostab342d.lib opencv_xfeatures2d342d.lib opencv_ximgproc342d.lib opencv_xobjdetect342d.lib opencv_xphoto342d.lib OpenCV342_release: opencv_aruco342.lib opencv_bgsegm342.lib opencv_bioinspired342.lib opencv_calib3d342.lib opencv_ccalib342.lib opencv_core342.lib opencv_datasets342.lib opencv_dnn342.lib opencv_dnn_objdetect342.lib opencv_dpm342.lib opencv_face342.lib opencv_features2d342.lib opencv_flann342.lib opencv_fuzzy342.lib opencv_hfs342.lib opencv_highgui342.lib opencv_imgcodecs342.lib opencv_imgproc342.lib opencv_img_hash342.lib opencv_line_descriptor342.lib opencv_ml342.lib opencv_objdetect342.lib opencv_optflow342.lib opencv_phase_unwrapping342.lib opencv_photo342.lib opencv_plot342.lib opencv_reg342.lib opencv_rgbd342.lib opencv_saliency342.lib opencv_shape342.lib opencv_stereo342.lib opencv_stitching342.lib opencv_structured_light342.lib opencv_superres342.lib opencv_surface_matching342.lib opencv_text342.lib opencv_tracking342.lib opencv_video342.lib opencv_videoio342.lib opencv_videostab342.lib opencv_xfeatures2d342.lib opencv_ximgproc342.lib opencv_xobjdetect342.lib opencv_xphoto342.lib

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值