当前位置:   article > 正文

实验记录之——mac用visual studio code配置opencv_macos vsode c++opencv

macos vsode c++opencv

安装opencv

Homebrew安装opencv

  1. brew install wget
  2. brew install cmake
  3. brew install opencv

 

 

看来都安装过了hhh

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

brew info opencv

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

Vscode配置c/c++环境

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

首先安装扩展包

C/C++

CodeLLDB

然后创建一个cpp文件

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. cout << "hello world" << endl;
  5. return 0;
  6. }

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

 选择C++(GDB/LLDB)

 此处好像不太行。。。

改为安装下面的依赖

然后调试就自动生成文件

 然后运行即可

把代码改为以下内容试试

  1. #include<iostream>
  2. #include<string>
  3. #include<vector>
  4. using namespace std;
  5. int main(){
  6. int b = 1;
  7. auto a = b;
  8. cout << a << endl;
  9. vector<string> msg{"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
  10. int len = msg.size();
  11. cout << "长度" << len << endl;
  12. for (int i=0; i<5; i++){
  13. // ms.push_back("a");
  14. cout << i << endl;
  15. }
  16. return 0;
  17. }

  却报错

 原因是目前的编译不支持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,把这个理解为一个准备工作。
  1. {
  2. "configurations": [
  3. {
  4. "name": "Mac",
  5. "includePath": [
  6. "${workspaceFolder}/**",
  7. "/usr/local/Cellar/opencv/4.5.3/lib/**",
  8. "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
  9. ],
  10. // “includePath” 后面就是放的就是头文件和库文件所在的路径,每个人的情况不同,可以把下面的路径输入进去查找一下有没有对应的文件,以进行确认。
  11. // 后面的两个星号 ** 表示递归查找,就是查找目标目录的同时,该目录下的子目录也一并查找。
  12. "defines": [],
  13. "macFrameworkPath": [],
  14. "compilerPath": "/usr/local/bin/gcc-11",
  15. "cStandard": "gnu17",
  16. "cppStandard": "gnu++17",
  17. "intelliSenseMode": "macos-gcc-x64"
  18. }
  19. ],
  20. "version": 4
  21. }

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

打开访达,然后搜索。

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

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

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

 

然后出现文件目录如下:

 

setting里面的内容为:

  1. {
  2. "C_Cpp.default.includePath": [
  3. "/usr/local/Cellar/opencv/4.5.3/lib/",
  4. "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
  5. ]
  6. }

 添加cpp标准

  1. {
  2. "C_Cpp.default.cppStandard": "c++17",
  3. "C_Cpp.default.includePath": [
  4. "/usr/local/Cellar/opencv/4.5.3/lib/",
  5. "/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
  6. ]
  7. }

可以!

 

参考资料

【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博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/676603
推荐阅读
相关标签
  

闽ICP备14008679号