10

我在这里面临一个关键问题,Xcode 在构建它时抛出了奇怪的异常“

重复符号 _selected 在:/Users/mhgaber/Library/Developer/Xcode/DerivedData/اProject-Name-aopcbghvorqhdwbyudzqsyhtekcu/Build/Intermediates/Project-Name.build/Debug-iphonesimulator/Project-Name.build/Objects-normal/i386/ ClassX.o /Users/mhgaber/Library/Developer/Xcode/DerivedData/Project-Name-aopcbghvorqhdwbyudzqsyhtekcu/Build/Intermediates/Project-Name.build/Debug-iphonesimulator/Project-Name.build/Objects-normal/i386/ClassY。 o ld:架构 i386 clang 的 1 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我搜索了很多,但我没有找到任何帮助我的东西

4

5 回答 5

15

查看文件ClassXClassY- 它们包含在哪些目标中?基本上,该_selected方法在两者中都是重复的。我猜这是一个普通的 C 方法,恰好在两个文件中命名相同。尝试_selected在其中一个文件中重命名。

于 2013-09-19T01:17:00.213 回答
4

在我的例子中,我在头文件中声明了const一个,它在设备(iPhone 5)上构建和运行时运行良好,但是在尝试模拟 4S 时,突然间我有大约 300 个“重复符号”。

事实证明,我还需要将其标记conststatic,问题就消失了。大概每次引用标头时它都试图重新定义常量。编译器不够聪明,无法将常量设为静态?不认为这是必要的,但我想是的。

const CGFloat kTitleAnimateDistance = 50.f;

需要:

const static CGFloat kTitleAnimateDistance = 50.f;
于 2014-11-19T18:28:39.700 回答
3

有时您不小心导入了 .m 文件而不是 .h 文件,因此会出现此错误。请检查,如果这不是原因,则执行以下步骤

1-检查目标设置中的构建阶段。

2-转到编译源部分。

3-检查任何文件是否存在两次或一次。

4-如果文件存在两次删除一个。

5-再次构建。

于 2014-02-03T07:51:58.990 回答
0

我遇到过同样的问题。我包含了一个 .h 文件,其中包含许多 const 字符串、方法和一个结构。当我将它们全部更改为静态时,除了我想要的唯一可变变量,它编译得很好。

于 2019-02-27T23:12:19.677 回答
0

我遇到了同样的问题,@dtrotzjr 的回答给了我一个关于可能导致它的提示。

在我的情况下void,我的框架中有一个普通的 C 函数(xcode 抱怨它是一个重复的符号),我需要将它声明为 static void

于 2016-02-10T10:06:07.023 回答