将一个Xcode项目包含在另一个项目中 - —链接器错误

我试图这样做,并遇到问题。父项目需要从子项目访问类SettingsViewController。我已将子项目路径放入标题搜索路径中。一切都编译好,但我得到链接器错误,如下所示:   未定义的符号:“_ OBJC_METACLASS _ $ _ SettingsViewController”,   引自:         _OBJC_METACLASS _ $ _ St​​atisticsViewController.o中的StatisticsViewController“_OBJC_CLASS _ $ _ SettingsViewController”,   引自:         SelectionViewController.o中的objc-class-ref-to-SettingsViewController         StatisticsViewController.o中的_OBJC_CLASS _ $ _ St​​atisticsViewController ld:未找到符号collect2:ld   返回1退出状态 我怎样才能解决这个问题?     
已邀请:
我假设子项目是一个静态库。目前,您的父项目知道如何查找子项目的头文件(否则它将无法编译),但它不知道它必须链接到子项目的库(.a)文件。 您应该将库文件添加到Targets> {your app}> Link Binary with Libraries。此外,您可能需要添加链接器标志
-ObjC
和可能的
-all_load
。 网上有许多详细的描述,例如使用Xcode构建iPhone静态库。 更新: 如果它不是静态库,那么这是一个相当奇怪的项目设置。您可以做的最好的事情是将共享文件(.h和.m)添加到两个项目中。然后,它们将在两个项目中独立编译。如果你有很少的共享文件,这应该工作。 但无论如何,我建议使用带有静态库的项目设置。如果你正确设置它很好。我成功地使用它了。并且 - 正如我之前所说的 - 在网上有几个很好的描述如何设置它。     
您可能错过了一个框架。但是不能确定你在这里发布的内容。     
我知道这很古老但可能对其他人有帮助。 您需要在“构建阶段”中设置目标依赖项中包含的项目,以便编译所包含的项目,并且还应该在“链接二进制文件库”中添加所包含项目的静态库。 单击Target-> Build Phases并设置它们。     

要回复问题请先登录注册