将opencv2.framework链接到Swift Xcode项目时出错

时间:2015-10-25 18:17:00

标签: ios swift opencv xcode7

我正在尝试将opencv2框架导入我的Swift项目。问题是无法建立项目。以下是一些错误:

"cv::medianBlur(cv::_InputArray const&, cv::_OutputArray const&, int)", referenced from:
"cv::_InputArray::_InputArray(cv::Mat const&)", referenced from:
"cv::contourArea(cv::_InputArray const&, bool)", referenced from:

在我的Swift项目中,我有一个名为ProjectName-Prefix.h的.pch文件,内容为:

#ifndef MyScanner_Prefix_pch
#define MyScanner_Prefix_pch

#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

#endif /* MyScanner_Prefix_pch */

如何修复错误?实际上,我在Giftub上看到了一些用Swift编写的其他项目,它们也集成了opencv2,我试图导入所有必要的框架,但是我没有成功。

2 个答案:

答案 0 :(得分:1)

我认为你应该尝试另一种方法cocoapods。在手动添加opencv框架的同时,我自己花了太多时间来解决这些问题,但没有成功。所以我建议你选择pods;

pod 'OpenCV', '~> 2.4.10'

答案 1 :(得分:0)

通过比较我的项目和从GitHub下载的项目之间的架构,我找到了解决方案。来自GitHub的项目是一个过时的项目(3年前),它使用arm7和arm7s,而我的项目是在Xcode 7中创建的,带有一个额外的架构(arm64)。 Arm64对于新应用程序是强制性的,而cocoapods上的框架支持arm64(非常感谢@Shoaib)。但是,名为“libjpeg.a”的库还有另一个问题,我们必须手动解决它。像我一样遇到同样问题的人可以查看this link的“libjpeg.a”问题