我开发了一个非常简单的应用程序,使用openCV进行IOS。它一直有效,直到我决定在其他项目中使用该代码。我收到这个armv7错误,我看不出问题出在哪里(请参见上图)
我创建了一个工作代码的静态lib文件,其中包含以下架构信息:
比我把它编译成* .a文件并将 dyOpenCv.a 和 DyOpenCV.h 文件添加到我的主项目中,该项目具有以下架构信息:
但是当我尝试在头文件( DyOpenCV.h )中使用该方法时,会出现以下错误:
任何想法可能是什么?
答案 0 :(得分:10)
有两个与链接库相关的问题:
首先,虽然我的子项目有 opencv2.framework 正确添加并链接到它,我还必须添加此框架 到我的主要项目。这样我摆脱了 cv :: * 链接 问题;
第二个问题与我的交叉编译器Objective-C ++配置有关。一旦我使用libc ++作为我的标准库,我就将-lc ++添加到我的其他链接器标志。如果您使用libstdc ++作为标准库,则应添加-lstdc ++。
之后,它完美无缺。虽然有一些内存泄漏需要照顾=)
干杯,
答案 1 :(得分:2)
我认为是因为你的项目没有链接到C ++运行库。
尝试将libc ++。dylib添加到ur链接的库中。