0

我不小心从我的项目中删除了一组文件(.h、.m、.xib)。

将它们从备份中添加回项目后,编译时出现错误。看起来链接器试图从已删除的源中引用旧的 .o 文件:

Undefined symbols for architecture i386:   "_OBJC_CLASS_$_SNDYTheUndeletedViewController", referenced from:
      objc-class-ref in SNDYParentViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

如何清除此错误?我试过了:

  • 做一个“清洁”
  • 重新启动 Xcode
  • 强制重新编译父视图控制器(通过更改一些代码,然后改回来)
  • 删除派生数据
  • 将派生数据文件夹从“默认”更改为“相对”

上次我这样做时,我只是创建了一个具有不同名称的新视图控制器。我想避免这种情况,实际上只是解决这个问题。

4

2 回答 2

0

您可以尝试从 xcode 存储库中删除项目引用。

转到文件-> 源代码控制-> 存储库..

删除存储库和项目下的所有项目引用。

于 2013-03-29T10:30:28.527 回答
0

正如 rmaddy 在对我的问题的评论中所说,重置每个恢复文件的目标成员身份:

  1. 突出显示项目导航器 (cmd-1) 中的文件。
  2. 打开文件检查器实用程序窗格 (cmd-opt-1)。
  3. 在窗格的“目标成员资格”部分中,单击目标的复选框。
于 2013-04-03T23:04:31.310 回答