Xcode 8(Swift):core.hpp头必须编译为C ++

时间:2017-06-01 13:15:41

标签: ios swift xcode opencv

我在一个项目中使用OpenCV iOS Framework。我按照必要的步骤将框架包含在项目中。

该项目是使用Swift 3编写的。

我的一个包含App核心功能的类是用Objective-C ++编写的。我在Bridge-header文件中包含了类的标题,但在尝试运行项目时出现以下错误:

  

错误core.hpp标头必须编译为C ++

在线研究和SO之后,最常见的解决方案是创建一个将在桥接头中导入的Wrapper类。但是,在遵循此article后,我面临同样的问题。

我班级的Header文件如下所示:

#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#define IMAGE_CLASS UIImage
#elif TARGET_OS_MAC
#import <Cocoa/Cocoa.h>
#define IMAGE_CLASS NSImage
#endif

#import <AGGeometryKit/AGKQuad.h>

#import <stdio.h>
#import <opencv2/opencv.hpp>

#import <Foundation/Foundation.h>

typedef void (^DebugBlock)(cv::Mat current_image, std::string current_image_name);

@interface ImageScanner : NSObject

/**
 *  Singleton for access to the scanner.
 *
 *  @return Shared scanner.
 */
+ (instancetype)sharedScanner;

有没有人知道我可能缺少什么?

提前谢谢! -G。

1 个答案:

答案 0 :(得分:0)

有同样的问题..通过在wrapperClass.mm文件中导入任何使用openCV的文件来解决...

SO Answer here