【发布时间】:2011-11-17 00:42:50
【问题描述】:
我在构建具有“配置”脚本的库时遇到问题,即此类脚本不适用于为 iOS 编译。
我可以设置一组环境变量来诱导“配置”为 iOS 工作吗?
我尝试设置 CC,但这还不够。
谢谢。
【问题讨论】:
我在构建具有“配置”脚本的库时遇到问题,即此类脚本不适用于为 iOS 编译。
我可以设置一组环境变量来诱导“配置”为 iOS 工作吗?
我尝试设置 CC,但这还不够。
谢谢。
【问题讨论】:
Github project with static libraries and headers that build properly for iOS.
来自自述文件(2011 年 11 月):
用于 iOS 的 LibArchive 静态库 不幸的是,虽然 libarchive.dylib 和 libbz2.dylib 包含在 iOS SDK 中, 头文件不是。这意味着它们是私有 API,不能 如果您打算提交到 App Store,请使用。
永远不要害怕!这个存储库包含构建一个 用于 iOS 的静态版本的 libarchive。 libbz2 也包含在 额外的好处。
为了保持命名合理,我们将库构建为 libarc.a。
对于 iOS 4.3+,从 build-for-iOS-4.3 目录添加到您的项目中。
对于 iOS 4.2,从 build-for-iOS-4.2 目录添加到您的项目中。
如果您需要为早期版本的 iOS 构建它,您可以 轻松修改 build.sh 脚本以指向您喜欢的任何 SDK。 它应该在 3.x 上构建良好。
要获得完全链接,您还必须在列表中包含 libz.dylib 的链接库。要在 XCode 4 中执行此操作,请单击您的项目, 选择 Build Phases 选项卡,转到 Link Binary With Libraries,按 +,然后从(长)可能的库列表中选择 libz.dylib 进行链接。这是因为 libarc.a 动态链接到 libz.dylib -- 这没关系,因为无论出于何种原因,AAPL 认为在 iOS SDK 中包含 libz 标头是合适的。
当前的 libarchive 版本是 2.8.4。 bzlib2 版本为 1.0.6。
【讨论】: