Iphone OSX SDK/Carbon中的保留关键字,但不在iOS上。在iOS/OSX联合项目中要做什么?

Iphone OSX SDK/Carbon中的保留关键字,但不在iOS上。在iOS/OSX联合项目中要做什么?,iphone,ios,macos,macos-carbon,reserved-words,Iphone,Ios,Macos,Macos Carbon,Reserved Words,我正在尝试将我的iOS应用程序移植到Mac OS X SDK,并发现收到以下错误消息:将“Collection”重新声明为另一种符号。是否有可能是“Collection.h”,它是我的一个核心数据实体的名称,是我iOS项目中的一个文件,是OS X SDK中的保留名称吗 更新:我已经翻遍了代码,发现关键字Collection是在Carbon中定义的,在Collections.h: typedef struct OpaqueCollection*Collection 除了更改我的核心数据实体的名称之

我正在尝试将我的iOS应用程序移植到Mac OS X SDK,并发现收到以下错误消息:
将“Collection”重新声明为另一种符号。
是否有可能是“Collection.h”,它是我的一个核心数据实体的名称,是我iOS项目中的一个文件,是OS X SDK中的保留名称吗

更新:我已经翻遍了代码,发现关键字
Collection
是在Carbon中定义的,在
Collections.h

typedef struct OpaqueCollection*Collection


除了更改我的核心数据实体的名称之外,还有什么办法解决这个问题吗?

这是一个非常常见的名称,所以很可能是。Cmd+单击它以查看它将带您去哪里。为了避免冲突,您可以在类的前面加上几个字母,例如:JSCollection for Jason Something。

编译器还应该告诉您该符号最初是在哪里定义的,这样您就可以轻松地检查…

谢谢-我查过了,发现它是碳的(我把这些信息作为问题的更新)。谢谢;我发现它是用碳来定义的(这就是为什么它在iOS上起作用,但在OSX上却造成了问题)。除了更改我的实体名称之外,还有什么建议吗?@Jason:你确定你的MacOSX项目需要使用碳吗?如果不是的话,我想你应该能够完全消除它,包括收集。h…我如何从我的项目中消除碳?我正在制作一个Cocoa项目,所以我不需要旧的兼容性层。你不能摆脱它。科科仍然需要它们。