繁体   English   中英

将 static 库链接到 Xcode 中的 iOS 项目 4

[英]Linking a static library to an iOS project in Xcode 4

我有一个项目( AQGridView ),它编译为 static 库,但我似乎无法将它添加到我的项目中。

将项目拖到我的项目中会创建一个工作区,如果我尝试从DerivedData目录链接libAQGridView.a文件,它不会将其识别为库。 我不确定我做错了什么。

这是AQGridView项目。 有谁知道具体如何在 Xcode 4 项目中使用它?

我这样做如下:

  1. 拖入 static 库项目。 如果您在 Xcode 中打开了 static 库项目,请立即关闭它。
  2. Select the main project in the project navigator (the project I'm adding the static library to) and in the editor, under the header TARGETS in the left-hand column, select my main project's target and navigate to the Build Phases tab.
  3. 单击 Target Dependencies 的“+”并从添加的 static 库项目中添加库图标目标依赖项。
  4. 单击“将二进制文件与库链接”的“+”,然后添加文件夹“工作区”下的库图标。
  5. 如果这是在 static 库项目本身中链接标头的方式,则可能还需要输入 ZB50D5E661106D0ABE925AF3C2E6F7E7Z 搜索路径以获取 static 库项目的标头。

如果您在主项目的项目导航器中没有看到 static 库项目嵌套在主项目下,那么最可能的原因是 static 库自己的 ZA3B5EBD8A1E9EBF44A3ZD 项目仍处于打开状态。 退出 Xcode 并打开包含嵌套 static 库项目的主项目,而不打开原始 static 库项目本身,您应该会在主项目中看到它作为嵌套库项目出现。

Xcode 菜单 > 视图 > 实用工具 > 文件检查器

Select static 库文件,然后在“身份和类型”中将“文件类型”设置为“Mach-O object 代码”。

在 finder 中找到 your.a 文件,并将其拖到您的项目中。

Select '将项目复制到目标组的文件夹(如果需要)',并将标题添加到项目中。

现在,XCode 4 应该会自动为您链接到该框架。

以下是库在您的项目中的外观:

工作区应该使这更容易,但我不知道他们会这样做。 我这样做的方式是创建一个工作区,添加我的主项目,添加我的库项目。 然后 go 进入主项目的构建阶段,并在“Link binary with libraries”部分添加库并添加库。 应该是所有必要的,至少这是我的阅读,但事实并非如此。 我所做的是 go 进入 Xcode 首选项,然后到 Source Trees 窗格。 添加指向您的 static 库头文件的源代码树,然后将 go 添加回项目的构建设置,然后添加到 Header 并输入源代码树“foo” .

这对我有用,虽然我不知道这是否是最好或最简单的方法。

遵循 Apple 的文档

简单来说:

  1. 将您的目标与库链接。
  2. 在目标的构建设置下将 -ObjC -ObjC到“其他 Linker 标志”( OTHER_LDFLAGS )。

此外,我需要将该库添加到我的主项目的方案中,因为该库在目标的依赖项中不可见。

哈雷的回答对我有用,还有一个补充:

  1. 检查 static 库项目的构建设置私有(或公共)标题文件夹路径值并复制它。
  2. 将复制的值添加到客户端项目构建设置Header 搜索路径用户 Header 搜索路径,具体取决于您使用的包含指令

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM