架构arm64的未定义符号:“cv :: String :: deallocate()”

时间:2016-01-27 10:46:41

标签: c++ ios xcode opencv

当我添加包含opencv.framework的“.a”文件时,Xcode遇到了这样的编译错误:

enter image description here

我很确定opencv.framework在那里,而且我使用的是opencv 3.1,它应该已经支持arm64了。但为什么一直抱怨这个?我该如何解决?非常感谢。

脂肪 - 信息显示以下信息: 胖文件中的体系结构:/Users/Fumin/libVisageWrapper.a是:armv7 i386 x86_64 arm64

2 个答案:

答案 0 :(得分:2)

您应该使用以下命令验证库是否正确支持arm64:

lipo -info libYourLib.a 

此命令的输出应显示:

Architectures in the fat file: libYourLib.a are: armv7 arm64 

fat <​​/ em>文件意味着一个文件,其中包含可能包含多个体系结构的二进制元素。

如果缺少arm64,则无法为arm64设备构建目标。您可能需要请求库的供应商构建包含arm64体系结构的 fat <​​/ em>版本。

答案 1 :(得分:2)

事实证明,在其他一些库中已经存在opencv库,因此两个实例opencv彼此冲突。在.a文件提供程序使用相同的opencv库提供新版本之后,现在它可以正常工作。