【问题标题】:iPhone - Using a static Library?iPhone - 使用静态库?
【发布时间】:2011-05-17 14:30:03
【问题描述】:

我创建了一个生成“a”文件的静态库项目。 我将此“a”文件作为静态库包含到另一个项目中。

我可以使用这个静态库中的类的唯一方法是复制所有头文件以及“a”文件。

是否可以避免复制头文件,并且仍然可以使用和导入这个静态库中的类?

【问题讨论】:

  • 我也不希望对我的库项目有任何依赖
  • 我认为不可能,编译器需要函数的声明。但是你可以尝试给出头文件的绝对路径。
  • 您可以编辑项目的标头搜索路径以包含库的标头文件夹,而不是复制标头。不过,这可能仍然算作一种依赖。

标签: iphone objective-c header static-libraries


【解决方案1】:

我能找到的最佳选择在这里:

http://www.cocoanetics.com/2010/05/making-your-own-iphone-frameworks-in-xcode/

...基本上,您可以跳过几个环节将您的静态库打包为框架。框架将创建头文件的内部副本,因此当您将其包含在项目中时,您可以自动访问它们。

【讨论】:

【解决方案2】:

不是真的,你必须在调用者可见的地方声明函数。头文件是最方便的方法,因为它提供了一个接口。一种可能的方法是将这些标头合并到一个 .h 文件中,这样您就可以为您的库提供一个单一且完整的接口。

我能想到的唯一其他方法是在调用它们的文件中声明函数,但这比包含头文件更具破坏性和容易出错。

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多