Swift 4 - Xcode 9.0 beta 2 上的 OpenCV 3.2

Swift 4 - OpenCV 3.2 on Xcode 9.0 beta 2

我实际上正在尝试将 OpenCV 与 ARKit 结合使用来构建 AR 应用程序。 在过去的 6 个小时里,我尝试了所有方法来在我的 Swift 项目上安装 OpenCV,但这似乎是不可能的。
我跟着 this tutorial on Medium 最后得到了 3 个带有框架的新文件:包装器的 OpenCVWrapper.h 和 OpenCVWrapper.mm 以及桥接头的 LittleFarm-Bridging-Header.h,这里是代码:

OpenCVWrapper.h

#import <Foundation/Foundation.h>
#import <stdio.h>
@interface OpenCVWrapper : NSObject

- (void) isItWorking;
@end

OpenCVWrapper.mm

#import "OpenCVWrapper.h"
#import <opencv2/opencv.hpp>

@implementation OpenCVWrapper

    using namespace std;
    - (void) isItWorking {
        printf("Hey");
    }
    @end

LittleFarm-桥接-Header.h

#import "OpenCVWrapper.h"

但随后出现此错误:'opencv2/opencv.hpp' 找不到文件
我试图找出问题所在,并将 Framework_Search_Path 设置为 $(PROJECT_DIR). 这不会改变任何东西,如果我试图评论相关行,我会收到此错误:
ld: framework not found opencv2
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)


编辑:在 Build Phase > Link Binary with Librairies 中,框架 opencv2 就在这里。

在此先感谢您的帮助!

hoang Cap 的大力帮助下,我终于解决了我的问题。

  • 首先,我没有拖放 openCV 框架,而是使用 Cocoapods 安装它
  • 注意版本 3.2 产生了一些问题,3.1.0.1 运行良好。

    pod 'OpenCV', '~> 3.1.0.1'

  • 在 Pods 目标和您的项目上停用位码。

如果有人想在 XCode 上使用当前版本或比 3.1.0.1 更新的 OpenCV,这个 workaround helps. To ignore the documentation warnings this 也可能有帮助。

A​​mayatsky 写道:

I have moved #import <opencv2/opencv.hpp> above all other imports as suggested and that did the trick.