gpt4 book ai didi

xcode - 链接静态库,共享另一个静态库

转载 作者:行者123 更新时间:2023-12-03 21:56:55 25 4
gpt4 key购买 nike

我目前有一个用于非常大的代码库的 Xcode 项目,我将其命名为 X项目 ,我将其分为一堆子项目( 项目 A、B、C )。

到目前为止,这些项目中的每一个都可以自行编译。它们都生成静态库。 B项目项目C 依赖于 生成的静态库项目A 为了建立。

我有另一个 xcode 项目, Z项目 ,这需要 生成的静态库项目 B 和 C .问题就在这里。当 Z项目进入链接器阶段,事情变得很糟糕 - 在 的库中发现了重复的符号项目 B 和 C 对于他们最初在 中链接的代码项目A !

我对静态库的世界很陌生,我不确定如何继续使用 Z项目 ,或如何修改其他项目以便它们链接到相同的 项目A 库。我有一种感觉,这是不可能的。我在这里有哪些选择?

编辑:

我应该澄清一下 B项目项目C 需要构建到单独的静态库中,因为某些客户端只需要其中一个。

另外,我在 OSX 和 iOS 平台上都遇到了这种困境。

我意识到我可以通过将项目构建为动态库来解决 OSX 上的这个问题。但是,我不想这样做,它仍然让我在 iOS 上遇到同样的问题。

最佳答案

静态库不应该包含其他静态库(或一般的第三方代码)。静态库只是一堆 .o 文件粘在一起。所以如果你有多个相同信息的副本,它就会爆炸。

每个静态库都应该有自己的代码。最终的应用程序负责将所有需要的库链接在一起(包括库需要的库)。这样,每个链接的东西都只有一个副本。

关于xcode - 链接静态库,共享另一个静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11750390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com