网上有很多如何在 iOS 下配置 OpenCV 的文章,但是经个人实验发现,很多文章要么已经过时,要么遗漏了重要的配置信息,而且 OpenCV 的官网也没有给出这些配置步骤,因而自己重新总结了一下,实测可行。
1. 导入 framework
首先导入 OpenCV framework。写本文时的最新的版本是 opencv2.framework,可以从 OpenCV 官网获得(下载地址),下载后直接拖入项目即可。有特殊嗜好的可以选择自己编译,具体方法参照这篇文章。
然后导入 OpenCV 依赖的框架,AVFoundation.framework,ImageIO.framework 和 libz.dylib 是必选项。如果要处理视频的话,还需要导入 CoreVideo.framework 和 CoreMedia.framework。
2. 修改 .pch 文件
据说 OpenCV 的 MIN 宏与 UIKit 的 MIN 宏有冲突,所以需要在 .pch 文件中先定义 OpenCV 的头文件。在 #import <Availability.h>
后插入如下代码:
|
3. 修改 Build Settings
首先进入 ‘Build Settings > Apple LLVM - Language C++’,将 C++ Language Dialect
的值改为 GNU++11 [-std=GNU++11]
,C++ Standard Library
的值改为 libstdc++(GNU C++ stardand library)
。
然后进入 ‘Build Settings > Architecture’,将 Build Active Architecture Only
下的 Debug
的值改为 YES
,Release
的值改为 No
。
以上任何一步缺失都会导致程序报错。如果按照步骤配置还报错,请先检查有没有遗漏,还是不行就拿错误代码去栈溢出上搜吧,解决方案还是挺全的。