5

我做了一些环顾四周,但我发现的大多数答案已经或感觉不完整,让我有点困惑。我得到了一个 C 库,我需要使用 XCode 4.3 将其编译成静态库,然后在单独的 iOS 应用程序项目中使用,但我不确定如何继续。我不确定目录结构是否重要,但无论如何都在这里:

Library -> Section1 -> src -> .c files
                    -> sec1 -> .h files
                    -> sec1.h 
        -> Section2 -> src -> .c files
                    -> sec2 -> .h files
                    -> sec2.h

我一直在尝试从这里开始工作:http: //blog.stormyprods.com/2008/11/using-static-libraries-with-iphone-sdk.html链接在一个与此类似的问题中,尽管来自2008年它已经过时了,我也无法让它工作。还有这个问题:Include external C library with Xcode但它没有详细介绍实际生成库的细节,然后才包含在单独的项目中。

如果有人可以提供清晰和最新的答案,我和其他许多人会非常感激,我敢肯定。让我知道是否需要更多信息!

4

2 回答 2

7

构建静态库:

  1. 在 Xcode 中创建一个静态库项目
  2. 将所有 .c 和 .h 文件添加到项目中
  3. 编译

使用此库的最简单方法是将此静态库项目添加到您的应用程序项目中。这样就不必担心创建胖库(即包含模拟器和设备代码的库)。

要将静态库项目添加到您的应用程序项目中:

  1. 选择文件 > 将文件添加到“”...
  2. 为您的静态库添加 .xcodeproj
  3. 在 Project Navigator 中单击您应用的 .xcodeproj 以显示构建选项
  4. 单击应用程序的目标并选择“构建阶段”选项卡。
  5. 展开“与二进制文件的链接部分”
  6. 点击“+”按钮
  7. 展开“工作区”部分(您应该在那里看到您的库、一个 .a 文件)
  8. 单击您的图书馆,您应该一切顺利。

为上述令人难以忍受的详细程度道歉,但不知何故,人们似乎总是忘记执行第 4-8 步,然后他们想知道为什么会出现链接错误!

Xcode 将无法找到您的库的标头。您可以像添加任何其他头文件一样将公共头文件添加到项目中,也可以在构建设置中设置“头文件搜索路径”。

于 2012-07-25T18:42:23.887 回答
0

尝试通用框架项目,如 github 上所示:https ://github.com/kstenerud/iOS-Universal-Framework/ 。我已经广泛使用了它,并且效果很好。您只需为该库创建一个新的 XCode 项目,放入所有源文件和头文件,它将构建一个静态框架。您可以在其他项目中使用,您也不必担心标题搜索路径。

于 2012-07-25T18:46:54.630 回答