【发布时间】:2015-09-22 07:05:08
【问题描述】:
当我尝试使用 XCode 7 + iOS SDK 9 使用 OpenCV 2.4 iOS 编译我的 XCode 项目时,XCode 抱怨说
ld: 'opencv2.framework/opencv2(alloc.o)' 不包含位码。您必须在启用位码的情况下重建它 (Xcode设置ENABLE_BITCODE),从 供应商,或禁用此目标的位码。用于架构 arm64
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看 调用)
并拒绝链接。经过一番谷歌搜索,turns out 是因为 Apple 在 App Store 中添加了一个名为 Bitcode 的新功能,用于应用程序优化。虽然 OpenCV iOS 二进制文件尚未更新以包含 Bitcode,但它无法通过链接阶段。
一些reference 指出了禁用ENABLE_BITCODE 的临时解决方案,因此可以在没有Bitcode 的情况下完成链接。这将阻止为 Apple Watch 编译应用程序,因为 Bitcode 对于 Watch 应用程序是必需的。因此我的问题是,是否有一些(最简单的)方法可以在启用 Bitcode 的情况下编译 iOS OpenCV? (最好有编译框架的下载链接)
【问题讨论】: