安装python

mac有自带的,主要是用python3

安装opencv

        一种办法是通过homebrew来安装,安装命令 brew install
opencv@3(如果没有“@3”,就会安装opencv4,opencv4没有调试成功,最后会出现symbol not found的动态库bug

ImportError:
dlopen(/opt/homebrew/Cellar/opencv/4.5.5/lib/python3.9/site-packages/cv2/python-3.9/cv2.cpython-39-darwin.so,
0x0002):

Symbol not found:
__ZN2cv3dnn14dnn4_v202112203Net10getLayerIdERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE

  Referenced from:
/opt/homebrew/Cellar/opencv/4.5.5/lib/python3.9/site-packages/cv2/python-3.9/cv2.cpython-39-darwin.so

  Expected in: /usr/local/lib/libopencv_dnn.4.5.5.dylib

)

        一种办法上通过cmake来对源码进行编译。cmake编译有两种,一种是brew安装cmake,用cmake命令进行编译,(这种办法安装后,opencv的库在/usr/local/lib中,头文件在/usr/local/include中,不便于寻找)。一种是cmake程序编译源码。(这种办法和brew都是安装到了一个文件夹中,brew是安装在homebrew的安装文件夹中,cmake程序是自定义)

安装opencv后,在终端输入命令

        python3

        import cv2

没有提示则表示opencv安装正确

vscode调试

调试中最棘手的是#include<opencv2/opencv.hpp> 出现波浪线,提示opencv.hpp unfound的错误

        解决办法:在/usr/local/include 建立opencv2的软链接

ps:网上说的在vscode的c_cpp_properties中的includepath不管用,(具体原因大概是vscode的includepath并不影响debug,只是匹配有用--有待验证)

错误2:#include<opencv2/opencv.hpp>出现#include错误

        解决办法:在c_cpp_properties中正确设置compile path。[一般是/usr/bin/clang++]

错误3:Undefined symbols for architecture arm64:

        解决办法:tasks.json的args最后添加"`pkg-config --cflags --libs
opencv`"[这一步主要是链接动态库,macos不会自动链接动态库]

错误4:有可能回遇到c++版本要求c++11的情况(一般不会有这个问题)

        解决办法:task.json的args添加"--std=c++11",

完成之后的配置(一般只需要在tasks.json更改)

tasks.json

 c_cpp_properties.json

launch.json

 

本篇主要是记录,主要是讲一下大致思路和最棘手的一些问题,不详细的地方请见谅

homebrew在m1的具体安装流程自行百度。

技术
©2019-2020 Toolsou All rights reserved,
TypeScript:函数类型接口8道大厂指针笔试题让你秒杀指针!!!MySQL 日期时间加减mysql 查询条件之外的数据_mysql 查询符合条件的数据查linux的操作系统版本,如何查看Linux操作系统版本?将String类型转换成Map数据类型使用uuid做MySQL主键,被老板,爆怼一顿C语言中的字符串函数和字符函数linux服务器中毒排查--基础篇C# ASCII码字符转换