2

我正在为 iOS 开发一个应用程序。我创建了一个静态库,它自己编译没有问题。

我按照这些说明设置了我的静态库。 http://www.blog.montgomerie.net/easy-xcode-static-library-subprojects-and-submodules

我还添加了一个“复制标头”构建阶段,然后将所有标头添加为公共的,因为这与注释链接中描述的完全不一样。

然后我将它推送到 Git 存储库。

按照链接文章中的所有说明进行操作后,当我尝试构建时,我收到 150 个 Apple Mach-O 链接器错误。这是输出日志http://pastebin.com/Ma2tCK1w

只有在我开始在应用程序项目中使用静态库后才会出现错误 - 只需添加静态库不会导致任何问题。

有没有其他人遇到过这个?我包含了所有正确的框架,并且所有源文件都被编译到静态库中。在这一点上我没有想法,我基本上遵循了我在任何论坛、SO等上找到的所有指南或答案。

4

1 回答 1

1

在那篇博文中创建的示例静态库非常基础,只需要链接到基本的 3 个 iOS 框架UIKit.frameworkFoundation.frameworkCoreGraphics.framework. 因为 iOS 应用程序项目模板都包含使用这 3 个框架的“链接二进制文件与库”构建阶段步骤,所以他能够在他的 iOS 应用程序中包含静态库,而无需额外的步骤。

根据您的构建输出,您的静态库使用许多其他框架的功能,例如AddressBook.framework, AddressBookUI.framework, CFNetwork.framework, CoreData.framework, EventKit.framework, EventKitUI.framework, MediaPlayer.framework, MessageUI.framework, OpenGLES.framework, QuartzCore.framework, SystemConfiguration.framework,libxml2.dylib以及可能的其他框架。您需要确保将所有这些框架/dylib 添加到您的主 iOS 应用程序项目中,并将它们包含在“Link Binary with Libraries”构建阶段,就像它们包含在静态库的链接构建阶段一样。

于 2012-12-18T00:43:10.807 回答