【问题标题】:Static library with third party framework带有第三方框架的静态库
【发布时间】:2013-10-04 07:23:46
【问题描述】:

我正在尝试构建一个使用第三方框架的静态库。它构建成功。

但是,问题是,当我将我的静态库包含到任何示例应用程序中时,示例应用程序也会要求在我的静态库下使用的第三方库。

如果示例应用程序已在静态库内部使用,为什么需要该框架?

【问题讨论】:

  • 您是否在示例应用程序中包含了框架中的标头?
  • 是的,我在示例应用程序中添加了我自己的框架的标头,但没有添加第三方框架的标头,因为我的框架在内部使用该第三方。如果我没有在我的示例应用程序中包含第三方框架,它会给我第三方类的编译错误。有关其他信息,我在我的静态库项目和示例应用程序项目中使用 -all_load 链接器标志。

标签: iphone ios ios-frameworks


【解决方案1】:

我不知道这是否会有人....但是转到 BuildSettings -> Architectuers -> 在 BuildActiveArchitecture Only 下,设置 NO 然后生成库。

【讨论】:

    【解决方案2】:

    如果您在编译期间没有使用 lib(第三方)的“代码”并且只使用了 .h 文件和 .a 文件,那么您的库依赖于另一个静态库上的可执行代码,因此它将是必填。

    删除依赖的唯一方法是使用您的静态库代码编译依赖(第三方)静态库的源代码,以便生成具有依赖库的可执行代码的库。

    【讨论】:

    • 编译时显示以下错误:体系结构 i386 的未定义符号:“_OBJC_CLASS_$_ThirdPartyCalss”,引用自:MyStaticLib(SomeClass.o) 中的 objc-class-ref
    猜你喜欢
    • 2016-02-12
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    相关资源
    最近更新 更多