【问题标题】:iOS: Duplicate interface definition for class 'EAGLView'iOS:“EAGLView”类的重复接口定义
【发布时间】:2014-04-29 14:28:41
【问题描述】:

我正在开发一个 iOS 项目,我在一个 iOS 项目中使用 Cocos2d、3d 以及基于增强现实的 Metaio SDK Metaio SDK link。 此 Metaio 集成使用文件 EAGLView.mm 和 EAGLView.h。 Cocos2d 已经有了 EAGLView.m 和 EAGLView.h。如果我构建,我会得到 ​​p>

`Duplicate interface definition for class 'EAGLView'`

我怎样才能使这两个文件在这个项目中工作?请指教!

谢谢!

【问题讨论】:

    标签: ios cocos2d-iphone metaio


    【解决方案1】:

    您可以折射其中一个类名。我认为这将是最快,最简单的方法。 Xcode 有一个类似于 ^click>refractor 的选项并选择名称。 我还建议说是,当 Xcode 询问您是否要先拍摄项目快照时,以防万一。

    【讨论】:

    • 进入.h文件,右键或ctrl点击类名,选择refractor,选择名称。一个公平的警告,如果我是你,我会移除其中一个(mateo 或另一个),在项目中折射另一个,然后重新放入,因为我有一种感觉,与普通人一起折射作品表达并且会折射这两个类。另外,您必须自己更改文件名
    • 我没听懂你。我无法删除其中任何一个文件,因为它们的用途不同。我尝试重构 Metaio 的 EAGLView.h,但它引发错误,因为“无法重构此语言中使用的代码。EAGLView.h 由 Objective-C++ 文件导入或包含,而不是 Objective-C 或 C: ARELViewController.mm, EAGLView.mm 和其他 1 个。”
    • 哦,是的,我没有注意到它是一个 Objective-C++ 库。我的意思是删除其中一个,是暂时将其从项目中删除,直到您完成对另一个的折射。在任何情况下,如果 Xcode 不能自动完成,您可以编写自己的 RegEx 并对文件进行查找替换并更改类的名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多