我有与 libA 链接的 libX,以及也与 libA 链接的 libY。现在我需要在同一个项目中使用 libX 和 libY,所以它们链接到同一个应用程序中。为了争论,假设 libA 的大小为 5 MB,而我正在构建一个 iOS 应用程序。
我在这里读到,在这种情况下库之间没有冲突,因为此示例中的 libA 将包含在 libX 和 libY 中。但这也会使应用程序的大小显着增加 10 MB,而不是 5 MB。
为了不在应用程序中包含两次 libA,我需要做什么?有编译器开关吗?
除此之外,在如何设置库和将库划分为 Xcode 项目方面我能做些什么,以便我最终只链接一次 libA?例如,我可以在不链接到 libA 的情况下构建 libX 和 libY,假设最终项目会将 libA 添加为链接库吗?
通常,我只会将 libA 构建为动态库,但据我所知,这在 iOS 上是不允许的。