天天看点

踩过Mac Xcode配置opencv4.0.0的坑

今天,在安装opencv,并在Xcode中配置opencv4时,遇到了很多坑,但是最终还是在不懈的百度中,解决了问题。在此,将解决这些问题的方法进行总结,分享给大家。

第一个问题

首先,安装opencv和在Xcode中配置opencv,大家可以参考以下资料:

https://www.jianshu.com/p/564c8b352c7f

https://blog.csdn.net/weixin_36634831/article/details/90382605

都讲得很清楚了,但是,如果出现opencv仍然导入不成功,如下图:

踩过Mac Xcode配置opencv4.0.0的坑

    出现‘opencv2/opencv.hpp文件没有被找到’这个问题,是因为之前可能安装过opencv其他版本,系统无法准确的找到你想导入的opencv版本,所以,需要我们将“Header Search Paths”中填入的/usr/local/

include路径再具体化一点。具体操作如下:

1.进入终端,输入/usr/local/include,查看是否有opencv的相关文件,例如下图,可以找到opencv4文件:

踩过Mac Xcode配置opencv4.0.0的坑

2. 进入opencv4文件夹,可以看到opencv2,这个文件夹就是我们需要的opencv文件夹,因此,用此路径作为我们的include导入。

踩过Mac Xcode配置opencv4.0.0的坑

3. 在Xcode的Build Settings的Header Search Paths中的/usr/local/include改为/usr/local/include/opencv4

踩过Mac Xcode配置opencv4.0.0的坑

4. 我们再在原来的代码上,重新输入:

#include <opencv2/opencv.hpp>

这时候就不会出现opencv2/opencv.hpp not found了。

第二个问题

这个时候opencv应该是配置好了,但是,在运行读取图像的时候又出现了:

dyld: Library not loaded:

/usr/local/opt/openssl/lib/libssl.1.0.0.dylib

Referenced from:

/usr/local/opt/ffmpeg/lib/libavformat.58.dylib

Reason: image not found (lldb)

这是因为在安装python3时,会导致openssl升级到1.1,但dyld还是依赖的1.0.0,从而导致dyld时提示:

dyld: Library not loaded:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib

直接使用:

brew switch openssl 1.0.2s

最后就可以解决这个问题了,可参考此篇博客。

继续阅读