枚举数/语义问题的重新定义

Posted

技术标签:

【中文标题】枚举数/语义问题的重新定义【英文标题】:Redefinition of enumerator / Semantic issue 【发布时间】:2012-08-23 14:07:01 【问题描述】:

我现在在使用 XCode 时遇到了严重的问题,我真的不知道该怎么做,甚至是哪里出了问题。

我正在处理的项目昨天运行良好,但今天当我开始它时,我遇到了 20 个“重新定义枚举器”错误,并且到了“发出太多错误。现在停止”的地步。

奇怪的是,我对项目的所有备份都这样做了。即使是 2,3 或 4 天前的那些也没有改变。

似乎没有其他项目受此影响。

我已经尝试清理构建,删除派生数据,以某种方式检查重复文件(即使这不应该是可能的),所有链接器似乎都是有序的。有人给我一些建议吗?

谢谢!

【问题讨论】:

【参考方案1】:

你应该导入

#import "Facebook.h" 而是

#import <FacebookSDK/FacebookSDK.h>

【讨论】:

难以置信..你拯救了我的一天。 你能稍微改一下答案吗 - `' 是正确的答案吗?【参考方案2】:

我刚刚遇到了关于“重新定义枚举数”错误的确切问题。 问题是我不小心(可能是鼠标意外拖动)将其中一个项目目录复制到了另一个目录中,从而复制了它。

另一方面,我使用 git,通常使用 'git status -uno' 来隐藏未跟踪的文件。

所以我没有看到在项目中复制枚举的未跟踪的重复目录,从我的角度来看,我有一个干净的 HEAD 有奇怪的错误:S

经验教训:使用 .gitignore 而不是 '-uno' 选项

【讨论】:

【参考方案3】:

这个问题在 2019 年仍然会发生。 如果你得到这个去检查File->Workspace Settings并将构建系统设置为Legacy Build System。这应该可以解决问题。

【讨论】:

我的在 Legacy Build 上,所以我将其更改为 New Build,未能构建并出现不同的错误,将其放回 Legacy 并正常工作。不会激发信心。【参考方案4】:

我遇到了同样的错误,并且真的被卡住了。但发现项目文件夹 nam 有空格。我改变了它,错误就消失了!

例如:将文件夹名称 My Project 更改为 MyProject

【讨论】:

【参考方案5】:

对于任何有同样问题的人,谁拔了几个小时/几天的头发。 让我们仔细检查并删除多余的 Header Search Paths,如果需要,删除 Derived Data。 之后,问题将得到解决。

【讨论】:

以上是关于枚举数/语义问题的重新定义的主要内容,如果未能解决你的问题,请参考以下文章

实现自定义集合的可枚举类型(IEnumerable)和枚举数(IEnumerator )

将枚举数转换为字符串 [重复]

枚举

C++ 中的全局枚举

使用迭代器做自定义筛选

@MessageDriven 事务和重新传递语义