iOS 私有 pod 当中使用 OpenCV

OpenCV 的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。

在 APP 的主项目中可以通过下面的方式引用 OpenCV:

#import <opencv2/opencv.hpp>
#import <opencv2/imgproc/types_c.h>
#import <opencv2/imgcodecs/ios.h>
#import <opencv2/videoio/cap_ios.h>
#import <opencv2/highgui/highgui.hpp>
#import <opencv2/imgproc/imgproc.hpp>
#import <opencv2/core/core.hpp>
#import <opencv2/objdetect/objdetect.hpp>
复制代码

但是,在创建私有 pod 当中,如果引用 OpenCV 了,则不能写 #import <opencv2/opencv.hpp>,否则将会导致编译错误:

#if defined(NO)
warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers.

#endif
复制代码

使用下面的方式就没问题

#if __cplusplus && __has_include(<opencv2/imgcodecs/ios.h>)
#import <opencv2/imgproc/types_c.h>
#import <opencv2/core/core.hpp>
#import <opencv2/objdetect/objdetect.hpp>
#import <opencv2/imgcodecs/ios.h>
#import <opencv2/core.hpp>
#import <opencv2/highgui.hpp>
#import <opencv2/imgproc.hpp>

using namespace cv;
using namespace std;

#endif
复制代码

参考

如何在 iOS 工程中使用 OpenCV

Guess you like

Origin juejin.im/post/7072322798353383437