Xcode - 如何将 c 库和头文件包含到可可项目中?

Posted

技术标签:

【中文标题】Xcode - 如何将 c 库和头文件包含到可可项目中?【英文标题】:Xcode - how to include c library and header file to cocoa project? 【发布时间】:2010-01-19 11:28:18 【问题描述】:

如何将 c 库添加到 Xcode Cocoa 项目?

或者最好的选择是什么,我不想将它们复制到 Cocoa 项目目录中。

我有一个名为a 的C 项目,它编译成库a.dylib 和头文件a.h,该项目位于它自己的目录中。

我想在 Xcode 中使用我的 Objective-c 应用程序中的这个库。

如何将头文件和库添加到我的 Xcode 项目中?

我可以将a.dylib 拖到other frameworks 中,但我该怎么处理a.h

【问题讨论】:

【参考方案1】:

我想通了。

我将项目a 部署目录(标头)的位置指向项目设置中的搜索路径

作为Header Search Paths,如果用作<a/a.h> 或进入User Header Search Paths,如果用作"a/a.h"

至于库,我只是将它拖到 Xcode 项目中并将其设置为引用库而不是复制。

【讨论】:

【参考方案2】:

以下是在项目中添加头文件 test.h 之前的步骤。这是文件位置根 -> 库 -> 包含 -> test.h

    点击构建设置

    查找用户标题搜索路径。在此处添加您的头文件位置。将以下值添加到 Debug、Release 和 Any Architecture 字段。 $(SRCROOT)/库/包含。您的项目 Root 是包含您的项目的文件夹,它包含 .xcodeproj 文件。

添加路径后,您将能够像这样添加标题

# include "test.h"

【讨论】:

【参考方案3】:

您可以将 .a 和 .h 文件都拖到 Xcode 中,但请确保不要选中“将项目复制到项目文件夹”。至于引用头文件,您需要将其放在可以在#include/#import 语句中添加路径的位置。您是否有不想将标头复制到项目文件的原因?

【讨论】:

不复制的原因是它是一个单独的项目,我想指出它,但以后可能会包括它,因为它可能更容易管理,谢谢 您不想复制 SOURCE 或 LIBRARY 本身吗?为了使#importing 更容易,我会复制头文件。 最好我也不会​​复制。我通常将项目分开,只将它们包含在路径中,这是针对使用 makefile 的 c/c++ 项目。我正在寻找 Cocoa 和 C 库的最佳方式。

以上是关于Xcode - 如何将 c 库和头文件包含到可可项目中?的主要内容,如果未能解决你的问题,请参考以下文章

包括静态库和头文件Makefile问题(C)

一点一点学写Makefile-增加第三方库和头文件

linux下编译时的默认库和头文件搜索路径

脚本桥、Apple Mail、HTML 和头文件

在可可触摸框架中隐藏实现

ios 库中的 Libxml