XCode:错误:链接器命令失败,退出代码为1(使用-v查看调用)

时间:2013-01-25 14:37:55

标签: objective-c xcode linker linker-errors

我正在开发一个项目,当我构建项目时,我遇到了以下问题:

Ld /Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Products/Debug/SpaceInvaders.app/Contents/MacOS/SpaceInvaders normal x86_64
    cd /Users/KiKo-SaMa/Desktop/SpaceInvaders
    setenv MACOSX_DEPLOYMENT_TARGET 10.6
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Products/Debug -F/Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Products/Debug -filelist /Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Intermediates/SpaceInvaders.build/Debug/SpaceInvaders.build/Objects-normal/x86_64/SpaceInvaders.LinkFileList -mmacosx-version-min=10.6 -fobjc-arc -fobjc-link-runtime -framework Cocoa -o /Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Products/Debug/SpaceInvaders.app/Contents/MacOS/SpaceInvaders

duplicate symbol _Cycles in:
    /Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Intermediates/SpaceInvaders.build/Debug/SpaceInvaders.build/Objects-normal/x86_64/emulator.o
    /Users/KiKo-SaMa/Library/Developer/Xcode/DerivedData/SpaceInvaders-cgcsumybmrxbddfqdwhevdvubdic/Build/Intermediates/SpaceInvaders.build/Debug/SpaceInvaders.build/Objects-normal/x86_64/SpaceInvadersMachine.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

首先,我查看了这里的问题并试图理解错误信息,似乎我有一个重复的变量名,所以我改了它,当我再次尝试构建它时,我一直得到同样的错误,我检查了重复的函数名称,我的代码似乎没有任何错误。我还检查了包含,因为在一个问题中,其中一个解决方案包括.m而不是.h。有人可以帮我解决这个问题。

我不知道这是否相关,但起初我遇到了3个问题,似乎我不得不在我的项目的两个C文件的“构建阶段”的“编译源”中添加,现在我只得到1个问题,这是上面的问题。

由于

1 个答案:

答案 0 :(得分:1)

首先转到管理器(右上角),项目,选择项目(左列),删除派生数据
如果这不起作用......那么:
检查每个文件(甚至是头文件):循环
你会发现它有两个文件......从一个文件中删除它......你很高兴

相关问题