gpt4 book ai didi

objective-c - 静态库依赖的最佳实践

转载 作者:IT王子 更新时间:2023-10-29 07:47:43 30 4
gpt4 key购买 nike

我正在编写一个静态库,它依赖于其他库(在我的例子中是 SBJSON 和 ASIHTTPRequest)。

如果我将这些外部依赖项编译到我的库中,那么我就无法链接到其他编译了这些类的库。因为我的目标是为我的公司创建一组可以导入到任何新应用程序中的静态库, 将这些依赖项编译到库中显然不是一种选择。

有没有人对创建一套具有共同依赖关系的共享静态库有任何建议/最佳实践?

最佳答案

静态库只是目标文件的集合。在您的情况下,您不希望 SBJSON 和 ASIHTTPRequest 的对象文件包含在您的静态库中——您希望将该工作留给最终应用程序。您的静态库唯一需要的是 SBJSON 和 ASIHTTPRequest 的头文件。

由于这些项目都作为源文件(.h 和 .m 文件)分发,您只需告诉 Xcode 不要为静态库目标构建 SBJSON/ASIHTTPRequest .m 文件。

最简单的方法是只将这些项目的 .h 头文件导入到您的 Xcode 项目中。或者,您可以同时导入 .h 和 .m 文件,但要确保 .m 文件不包含在静态库目标的“编译源”构建阶段

一些其他相关的 SO 主题:

How can I avoid "duplicate symbol" errors in xcode with shared static libraries?

Duplicate symbol: Include static lib A in static lib B, also include lib A and B in XCode Project

关于objective-c - 静态库依赖的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9701681/

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