6

我开发了一个非常简单的应用程序,使用适用于 iOS 的 openCV。在我决定在另一个项目中使用该代码之前,它运行良好。新项目显示此armv7错误,我看不出问题出在哪里(请看最后一张图片)。

我用我的工作代码创建了一个静态库文件,它具有以下架构信息: 库架构

然后我把它编译成一个*.a文件,并将dyOpenCv.a这些DyOpenCV.h文件添加到我的主项目中,该项目具有以下架构配置: 项目架构

但是当我尝试在头文件中使用该方法时,DyOpenCV.h出现以下错误: armv7 错误

有什么想法可能是错的吗?

4

2 回答 2

12

有两个与链接库相关的问题:

  1. 首先,虽然我的子项目opencv2.framework 正确添加并链接到它,但我还必须将框架添加到我的主项目中。这样我就摆脱了cv::*链接问题;

  2. 第二个问题与我的交叉编译 Objective-C++ 配置有关。由于我libc++用作我的标准库,我不得不添加-lc++到我的其他链接器标志。如果您将libstdc++其用作标准库,则应-lstdc++改为添加。

经过这些更改,一切都完美无缺!祝你好运!

于 2013-05-10T14:06:59.227 回答
2

我认为这是因为您的项目没有链接到 C++ 运行时。

尝试将 libc++.dylib 添加到您的链接库中。

于 2013-05-08T13:55:14.077 回答