在iOS项目中链接静态库两次

时间:2016-06-24 13:56:48

标签: ios objective-c build linker clang

我有一个iOS项目(让我们称之为 mainProj )具有库依赖项。该库也用于其他项目。我们将此库称为 utilLib

现在,我想在 mainProj utilLib logLib )作为依赖项>

问题是在 mainProj utilLib 中添加 logLib 作为依赖项会导致重复的符号。另一个问题是 mainProj utilLib 都需要依赖 logLib ,因为它们需要独立工作。

是否有解决此问题的方法?

2 个答案:

答案 0 :(得分:0)

从我的角度来看,最好的解决方案是将logLib仅添加到utilLib。它无论如何都可以从mainProj获得,因为它已经与utilLib有一个依赖。

答案 1 :(得分:0)

您应该仅将logLibmainProj相关联。没有理由将其链接到utilLib。静态库只是一堆未链接的.o文件。您永远不需要将依赖项链接到静态库,您应该强烈避免这样做,因为它会导致重复的符号。您只需要logLib的{​​{1}}标题。