类'Foo'的重复接口声明

Joh*_*ith 18 iphone xcode cocoa-touch objective-c objective-c++

我正在研究我的程序,似乎设置中的某些内容发生了变化.突然我得到错误"类'Foo'的重复接口声明".它提到了一个重复的头文件,但只有一个副本.

有趣的是,这只发生在调试模式,而不是设备模式.

有谁知道什么可能是错的?

我正在使用Objective-C++和一些静态库.

Roh*_*nNZ 18

我有完全相同的问题.我有两个标题副本,并通过删除xcode中对它的引用删除了旧标题.然后只有一个标题的引用指向项目导航器中的新头文件.

实际上从文件系统中删除旧标题后,问题就消失了.

它可能是xcode中的一个错误.有时,当您删除对文件的引用时,部分引用仍保留在项目文件中.


And*_*ndy 15

我有此错误消息,我没有重复的标头或重复导入.问题是我已经重命名了头文件,Xcode以某种方式保持缓存,这就产生了构建错误.

我做了以下修复此操作.希望它可以帮助那些已经尝试过其他答案但仍然有错误的人.

  1. 清洁项目
  2. 删除"派生数据"(管理器>项目选项卡,选择项目并单击删除)
  3. 重启Xcode
  4. 建立


Joh*_*ith 10

我发现了这个问题.头文件有两个副本,XCode感到困惑.

现在神秘的是XCode如何决定自己复制这些文件......


小智 6

我有类似的问题,但我没有两个源文件的副本.在我的情况下,我有以下情况:

A类给出了上述错误,B类具有使用A类的属性.

问题是在.h和.m文件中的类BI中称为#import"Class A".这导致了我的上述问题.希望这有助于任何人.