gpt4 book ai didi

iphone - 将静态库附加到 iphone/ipad 应用程序

转载 作者:行者123 更新时间:2023-12-03 21:23:09 26 4
gpt4 key购买 nike

将静态库包含到 iPhone 或 iPad 应用程序中的最佳方法是什么?

我可以选择

  • 编译提供正确平台的库并使用ar实用程序构建库文件,然后作为框架添加到项目中
  • 包括库.c/.h的源代码并将它们与应用程序一起编译

第一种方法似乎更简单,因为我不关心管理我想要包含的库的所有特定设置,但如何为 iPhone 和 iPad 创建库并允许 xcode 在链接时使用正确的库?

第二种方法似乎更复杂,因为 xcode 将负责编译我的应用程序和库(我想具有不同的设置)那么我应该怎么做?我可以轻松添加库的源代码,但我必须包含 make 脚本以允许 xcode 使用它们以正确的方式构建。

关于如何继续的任何建议?我试图包含的库是libssh。 (当然,我知道这个库已经在iPhone上编译并尝试成功了)

提前致谢。

最佳答案

我会选择第一种方法。

您可能应该构建两个不同版本的库,一个用于 iPhone,一个用于 iPad。这些必须是包含不同架构的胖库(iPhone 3G 的armv6、iPhone 3GS 的armv7、第一个用于iPhone 模拟器的i386,另一个用于iPad 的armv7 和i386)。

基本上,您为 iPhone 构建三个不同的版本,然后使用 lipo 工具将它们合并到一个 fat 文件中。

然后,您再次为 iPad 构建两个不同的版本,并使用 lipo 将它们合并在一起。请注意,您不能在 iPad 上重复使用最初为 iPhone 编译的 armv7 和 i386 版本,因为您需要使用属于两个不同 SDK 的编译器(iPhone 为 3.1,iPad 为 3.2)来构建它们。

我不确定 lipo 是否允许您将两个 armv7 或两个 i386 版本的库合并到一个文件中而不会提示。您可能想尝试一下,因为在这种情况下,您可以在整个过程结束时只得到一个胖库。

关于iphone - 将静态库附加到 iphone/ipad 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com