当我尝试使用XCode 7 + iOS SDK 9编译我的OpenCV 2.4 iOS项目时,XCode抱怨:
ld: 'opencv2.framework/opencv2(alloc.o)' 不包含位码(bitcode)。您必须重新构建它并启用位码(Xcode设置ENABLE_BITCODE),从供应商处获取更新的库,或为此目标禁用位码。对于架构arm64
clang: error: 链接器命令失败,退出码为1(使用-v查看调用)
并且拒绝链接。经过一些搜索,结果表明这是因为苹果添加了一个名为Bitcode的新功能,用于App Store内的应用程序优化。虽然OpenCV iOS二进制文件尚未更新以包含Bitcode,但它无法通过链接阶段。
有些参考资料指出了一种临时解决方案,可以禁用ENABLE_BITCODE
,以便在没有Bitcode的情况下进行链接。这将防止应用程序为Apple Watch编译,因为Watch应用程序必须使用Bitcode。因此,我的问题是,有没有一些(最好是简单易行的)方法来启用Bitcode编译iOS OpenCV?(最好附带已编译框架的下载链接)
python2.7 opencv/platforms/ios/build_framework.py ios
。 - Guig