MacOS使用homebrew安装OpenCV及遇到的坑

本文介绍了在MacOS系统中如何使用homebrew来安装OpenCV,详细步骤包括安装homebrew、安装OpenCV以及后续的使用。在实际操作中可能遇到的两个主要问题是:找不到'opencv2/opencv.hpp'头文件和编译时出现'Undefined symbols for architecture x86_64'错误。针对这些问题,提出了创建软链接以及在CMakeLists.txt中使用find_package()或者通过pkg-config命令指定头文件和库路径的解决方案,并给出了相关参考资料。

1.安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装OpenCV

brew install opencv

安装目录为/usr/local/Cellar/opencv

3.使用Opencv

#include<opencv2/opencv.hpp>

遇到的坑

1. fatal error: ‘opencv2/opencv.hpp’ file not found

进入/usr/local/include目录,发现并没有opencv2目录,opencv实际上的目录为/usr/local/include/opencv4/opencv2,因此可以在目录/usr/local/inlcude中创建一个软连接指向opencv2

ln -s /usr/local/include/opencv4/opencv2 opencv2
2.Undefined symbols for architecture x86_64

在这里插入图片描述
这种情况是编译时没有连接到所需要的库,
可以有两种方法解决:
1.在CMakeLists.txt中加入
set(OpenCV_DIR /usr/local/Cellar/opencv/4.1.1_2)
里面包含了.cmake文件从而让cmake能找到opencv的头文件和库文件的路径。
然后使用find_package(OpenCV REQUIRED)就能够找到相应的包。
有关cmake及find_package()的详细内容可以参考:

https://blog.csdn.net/godop/article/details/81005455
https://blog.csdn.net/sen873591769/article/details/90183015
https://www.jianshu.com/p/39fc5e548310

2.使用pkg-config命令在编译时指定opencv的头文件和库文件的路径

g++ test.cpp $(pkg-config --cflags --libs opencv)

有关pkg-config的内容可以参考:
https://blog.csdn.net/newchenxf/article/details/51750239
https://blog.csdn.net/godop/article/details/81005455

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值