无法将 opencv2-2 框架添加到 iOS 项目

Posted

技术标签:

【中文标题】无法将 opencv2-2 框架添加到 iOS 项目【英文标题】:Unable to add opencv2-2 framework to iOS project 【发布时间】:2017-07-14 19:27:24 【问题描述】:

我正在尝试将 opencv2-2(最新版本)框架添加到我的 ios 项目中,但在构建时遇到此错误。

ld: 找不到框架 opencv2-2

clang: error: 链接器命令失败,退出代码为 1(使用 -v 查看调用)

opencv2-2 框架出现在 Build Phases 选项卡的 Link Binary with Libraries 部分。如果相关,这是我在 ViewController.m 中的导入语句:

#ifdef __cplusplus
#import <opencv2-2/core.hpp>
#endif

这是一个屏幕截图:

我做错了什么?

【问题讨论】:

链接库路径中有没有? @JohnTracid 你问我是否有它在链接二进制库部分?我那里有。 我的意思是构建设置 -> 框架搜索路径。 @JohnTracid 我将 $(PROJECT_DIR) 设置为递归。够了吗? @JohnTracid 是最新版本的框架命名为opencv2-2.framework而不是opencv2.framework造成的问题吗? 【参考方案1】:

您的框架文件应命名为opencv2.framework,并且您的导入语句应命名为#import &lt;opencv2/core.hpp&gt;

我不确定您在哪里得到了错误的名称 opencv2-2。也许您下载了两次opencv2.framework,Mac 自动将第二个副本重命名为opencv2-2.framework

【讨论】:

我从 OpenCV 网站下载了最新版本的框架。它被命名为 opencv2-2。 我刚刚从 OpenCV 网站下载了最新版本(3.2.0)。 ZIP 中的文件名为 opencv2.framework。也许你解压了两次,得到了第二份名为 opencv2-2.framework 的副本,但这不是正确的名称。 我想一定是这样的。【参考方案2】:

我遇到了同样的错误,我将框架名称从 opencv2-2.framework 更改为 opencv2.framework 并且它可以工作

【讨论】:

请不要发布诸如答案之类的东西。一旦你获得足够的声望,你就可以做 cmets。 @neer17 这似乎是我的问题的答案。

以上是关于无法将 opencv2-2 框架添加到 iOS 项目的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Gradle 依赖项添加到我的 Codename One 项目

如何将核心数据添加到 iOS 的静态框架?

无法使用白色按钮项色调使 UIToolBar 变为黑色(ios 9,Swift)

无法将 FirebaseAnalytics 或 Crashlytics cocoapod 添加到 kotlin 多平台共享模块

无法解析 Kotlin Multiplatform 中的 cinterop IOS 导入

如何将按钮添加到 UINavigation 项?