【发布时间】:2014-06-26 17:14:53
【问题描述】:
我有一个有多个目标的项目。还有一个嵌入式项目,其输出是一个框架。
其中一个目标只需要该框架的几个文件 {.h,.m},所以.. 我只是引用它们。现在,当我构建该特定目标时,我得到了这个错误:
在 /Users/../someClass.m:10 包含的文件中:Foo.h:11:1: 错误:
类“Foo”的重复接口定义
@interface Foo : NSObject {
^
/Users/....MyProject/DerivedData/MyProject/Build/Products/Debug/MyFramework.framework/Headers/Foo.h:11:12:注意:之前的定义在这里
@interface Foo : NSObject {
^
我看到的是:Xcode 找到 Foo 类的两个副本,一个是引用的,另一个是 MyFramework 中包含的。 (两个副本是同一个文件)。
问题是,这个目标不是用 MyFramework 构建、链接或做任何事情。 (又名。对于我的目标:0 个目标依赖项,Foo.m 包含在“编译源”中,而 MyFramework 未列在“将二进制文件与库链接”中)。
问题: 1. 我如何在不链接 MyFramework 的情况下构建我的目标?
谢谢!
仅供参考。
我正在使用 Xcode 4.6.3
该框架是 C、C++ 和 ObjC 的混合体。 - 编译为 ObjC++ 并启用 ARC。
我在构建时遇到问题的目标是 C 和 ObjC 没有 ARC。
【问题讨论】:
-
如果你删除派生数据会发生什么?
-
尝试清理您的项目并重建
-
“清洁(产品 > 清洁)”后的结果相同。在我删除了 derivedData 后,我得到的错误更少,但仍然是一样的。
标签: objective-c xcode objective-c++ xcode4.6.3