编译一个 C 库以便它可以在 iPhone 静态库中使用

标签 c objective-c

我以前从未这样做过,所以我不确定从哪里开始。我有几个项目想使用 liblio库,在 iPhone 和 OS X 上都有。我把安装说明放在 gist 中。 .

这是我的问题,我会在弄明白后尝试编辑这些问题。

  1. 我要使用make install 来编译这些文件吗?我觉得所有编译都应该在 XCode 中完成。
  2. 看起来在编译过程中有很多特定于平台的设置。我如何从 XCode 控制它?
  3. 看来我应该能够将所有 .h/.m 文件添加到我的 XCode 项目并自行编译它们。这是否遗漏了什么?

郑重声明,我知道一些为在 iPhone 上使用而创建的 LibLO 库。我可能会分解并使用一个,但我更愿意自己学习如何做。

最佳答案

是的,如果您想从 XCode 中编译这些项目,您需要添加 .c/.h 文件,然后相应地设置它们。 XCode 当然支持将参数传递给编译器,所以这确实是可能的。

从要点片段来看,安装说明似乎是 GNU 标准说明,即。 配置;制作;进行安装。您可以尝试使用配置参数(顺便说一句,当场创建 Makefile)并查看您有哪些选项可以编译到不同的目标平台。

但是,将 Makefile 文件转换为纯 XCode 项目可能并不值得。另一种方法,我认为我会开始,是破解创建的 Makefile,直到你能够编译一个 iPhone 友好的 lib 文件。之后,您可以告诉 XCode 在项目构建步骤中运行“make ...”。然后,一旦您理解了这些问题,就可以更轻松地将它们包含在您的 XCode 项目中。

关于编译一个 C 库以便它可以在 iPhone 静态库中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236716/

相关文章:

c - BST中序遍历中的Seg Fault

检查 C 中 DOB 的条件

c - `exit()` 将 `status` 发送给什么,父进程还是操作系统内核?

objective-c - If 和 Else if 语句

objective-c - 处理多个 BOOL 组合

c - 删除空格程序中的段错误

c - 将 Mender.io 与 Azure IOT 中心集成

objective-c - 在代码中存储和引用第三方 API key 和常量列表的最佳方式?

objective-c - 将 AVAudioPlayerDelegate 设置为 self 会给我一个警告

ios - 我无法将 AVFoundation 视频保存到本地 URL