我已经看过几篇关于这个错误的帖子,我已经读过所有的帖子,但都没有成功,我很高兴能有一个解决方案。以下是我在编译时收到的输出...
ld: duplicate symbol _pointOffsetArray in /Users/admin/Library/Developer/Xcode/DerivedData/Display_Cubes_2-acsuoldwvhwsnjfowhhxfsmdeekc/Build/Intermediates/Display Cubes 2.build/Debug-iphonesimulator/Display Cubes 2.build/Objects-normal/i386/Display_Cubes_2ViewController.o and /Users/admin/Library/Developer/Xcode/DerivedData/Display_Cubes_2-acsuoldwvhwsnjfowhhxfsmdeekc/Build/Intermediates/Display Cubes 2.build/Debug-iphonesimulator/Display Cubes 2.build/Objects-normal/i386/Display_Cubes_2AppDelegate.o for architecture i386
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 failed with exit code 1发布于 2011-08-27 02:39:02
这意味着您可能在两个不同的文件中有一个名为_pointerOffsetArray (或类似的) defined的全局符号。查找全局定义此元件的所有实例,如果确实找到两个不同的声明:
关键字如果它们只在各自的文件中需要,请用static
extern限定符来声明它(在另一个文件中)。如果您还不知道,那么您真的应该阅读一下extern和static限定符是如何工作的。
在您的示例中,符号可能在Display_Cubes_2ViewController.m或Display_Cubes_2AppDelegate.m中定义了两次(或者,很可能是在定义此符号的这两个文件中都导入了一个头文件)。
发布于 2011-08-27 02:33:31
我相信重复的符号在Display_Cubes_2ViewController和Display_Cubes_2AppDelegate中。尝试对它们进行重命名。
此外,您可能希望尝试使用以下命令清理build文件夹
命令+ Option + Shift +K
尽管这看起来像是一个包罗万象的解决方案,但它在过去帮助我解决了一些愚蠢的编译问题。祝好运!
https://stackoverflow.com/questions/7208867
复制相似问题