没有源文件的Xcode静态库(只聚合其他静态库)

Posted

技术标签:

【中文标题】没有源文件的Xcode静态库(只聚合其他静态库)【英文标题】:Xcode static library without source files (only aggregating other static libraries) 【发布时间】:2012-11-19 22:22:23 【问题描述】:

有一个包含大量小型静态库的库(Xcode 项目旨在添加为子项目)。用户可以决定使用其中的一些或全部。为了方便决定使用所有这些的用户进行设置,我想创建一个更大的“容器”静态库,其中包含所有较小的静态库。

问题是,添加到新应用后,容器库并没有构建,除非我添加至少一个虚拟源文件。

编译器错误是 ld:找不到 -lContainerLibraryName 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

这个虚拟源文件可能是空的,没有属性,没有方法。有谁知道,为什么静态库需要至少包含一个源文件?否则它不会构建,即使它包含其他静态库。

有没有办法强制静态库构建,即使它不包含任何源文件?

【问题讨论】:

【参考方案1】:

您应该尝试将 -all_load 添加到您的构建设置下的“其他链接器标志”中。

【讨论】:

这很快 :) 标志已经到位。所有的静态库都有 -ObjC 和 -all_load 标志。 只检查简单的

以上是关于没有源文件的Xcode静态库(只聚合其他静态库)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode7 制作通用的framework,静态库和动态库

iOS 使用 Xcode8 制作动态库及静态库

Xcode如何添加静态库?

关于动态库和静态库的问题。

如何在Xcode中使用静态库

xcode加载静态链接库.a文件总是失败