0

我有一个有多个目标的项目。还有一个嵌入式项目,其输出是一个框架。
其中一个目标只需要该框架的几个文件 {.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。
我在构建时遇到问题的目标是没有ARC 的 C 和 ObjC。

4

1 回答 1

0

添加一个包含保护。见这里: C++ #include 守卫

如果您已经有一个包含保护,请仔细检查#ifndef 和#define 是否匹配。

于 2014-06-26T17:24:31.307 回答