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

在另一个Xcode项目中包含一个Xcode项目--链接器错误,xcode,ios,linker-errors,common-code,Xcode,Ios,Linker Errors,Common Code,我正试图这样做,却遇到了问题。父项目需要从子项目访问类SettingsViewController。我已将子项目路径放入标题搜索路径中。一切编译正常,但我得到链接器错误,如下所示: 未定义的符号:“\u OBJC\u元类\u$\u设置视图控制器”, 引用自: _在StatisticsViewController.o“\u OBJC\u CLASS\u$\ u setingsviewcontroller”中的OBJC\u元类\u$\ u StatisticsViewController”, 引用自

我正试图这样做,却遇到了问题。父项目需要从子项目访问类SettingsViewController。我已将子项目路径放入标题搜索路径中。一切编译正常,但我得到链接器错误,如下所示:

未定义的符号:“\u OBJC\u元类\u$\u设置视图控制器”, 引用自: _在StatisticsViewController.o“\u OBJC\u CLASS\u$\ u setingsviewcontroller”中的OBJC\u元类\u$\ u StatisticsViewController”, 引用自: objc类引用到SelectionViewController.o中的SettingsViewController _在StatisticsViewController中找不到OBJC_CLASS_$\u StatisticsViewController.o ld:符号collect2:ld 返回1退出状态


如何修复此问题?

您可能缺少一个框架。但是,从您在此处发布的内容来看,还不能真正分辨出来。

我假设子项目是一个静态库。当前,父项目知道如何查找子项目的头文件(否则它将无法编译),但不知道必须链接到子项目的库(.a)文件

您可能应该将库文件添加到Targets>{your app}>linkbinary-with-Libraries。此外,您可能需要添加链接器标志
-ObjC
,可能还需要添加
-all\u load

网上有很多详细的描述,例如

更新:

如果它不是一个静态库,那么它是一个相当奇怪的项目设置。您可以做的最好的事情是将共享文件(.h和.m)添加到两个项目中。然后将在两个项目中独立编译它们。如果您的共享文件很少,那么这应该是可行的


但我还是建议使用带有静态库的项目设置。如果设置得当,它会很好地工作。我正在成功地使用它。而且——正如我之前所说的——网上有一些关于如何设置它的好描述。

我知道这很古老,但可能对其他人有所帮助

您需要在“构建阶段”的目标依赖项中设置包含的项目,以获得要编译的包含的项目,并且还应该在“链接二进制文件与库”中添加包含项目的静态库


单击目标->构建阶段并设置这些阶段。

未定义的符号

未定义的符号
是链接器错误

1.检查是否已添加库或框架

Project editor -> select a target -> General -> Frameworks, Libraries, and Embedded Content(Linked Frameworks and Libraries)
//or
Project editor -> select a target -> Build Phases -> Link Binary With Libraries
2.如果您试图使用Objective-C中的Swift代码


将空的.swift文件添加到Objective-C项目中。当Xcode ask按Create
桥接头时

我应该发布哪些附加信息来澄清?如果我缺少一个框架。来自父项目还是子项目?它不是静态库。我先试了一下,在链接器出现很多问题后放弃了。好吧,试一下。看见