导入包含OPENCV函数的STATIC LIBRARY时,“架构armv7的未定义符号”

时间:2013-04-26 15:59:29

标签: xcode opencv architecture static-libraries armv7

我开发了一个非常简单的应用程序,使用openCV进行IOS。它一直有效,直到我决定在其他项目中使用该代码。我收到这个armv7错误,我看不出问题出在哪里(请参见上图)

我创建了一个工作代码的静态lib文件,其中包含以下架构信息: lib architecture

比我把它编译成* .a文件并将 dyOpenCv.a DyOpenCV.h 文件添加到我的主项目中,该项目具有以下架构信息: Project architecture

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

任何想法可能是什么?

2 个答案:

答案 0 :(得分:10)

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

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

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

  3. 之后,它完美无缺。虽然有一些内存泄漏需要照顾=)

    干杯,

答案 1 :(得分:2)

我认为是因为你的项目没有链接到C ++运行库。

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