2012-07-30 73 views
11
ld: duplicate symbol _velocityX in \ 
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level2ViewController.o \ 
and \ 
/Users/Student/Library/Developer/Xcode/DerivedData/finalproject-ffzevekmatxvhrgisgeleoijyllr/Build/Intermediates/finalproject.build/Debug-iphonesimulator/finalproject.build/Objects-normal/i386/Level1ViewController.o \ 
for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

UPDATE:爲便於閱讀,鏈接器命令失敗,退出代碼1:重複的符號

添加\ +換行我不知道什麼是錯的我的項目,任何人都可以幫忙嗎?

+1

好:鏈接器抱怨符號「_velocityX」在兩個對象中定義:「.../Objects-normal/i386/Level2ViewController.o」和「.../Objects-normal/i386/Level1ViewController。 o「也許你在鏈接器調用中指定了兩次對象?或者你包含一個.C文件?或者你有陳舊的物體漂浮在附近? – wildplasser 2012-07-30 18:41:38

回答

1

你可能有double _velocityX在雙方Level1ViewController.cLevel2ViewController.c,包含的頭文件時,頭部應該有extern double _velocityX只有一個.c文件應該有double _velocityX。 (假設_velocityX的類型是double,這似乎是合理的,並且假定這是C或C++而不是Fortran或其他)。

22

我有同樣的問題。但這是我的錯。 :)。您可能已經寫了#import file.m而不是#import file.h。所以編譯資源將重複使用符號file.o. - 就是這樣! ^^看到它,你刪除該錯誤文件,編譯 - >顯示錯誤行 - >然後重新複製它。

+1

哈哈...多麼愚蠢:)謝謝你。我不會注意到這個錯字。 – d2burke 2013-03-17 21:01:34

+1

@寶貝你釘了它! – 2013-03-19 17:39:57

+1

這也是我的問題。非常感謝。 – Ali 2013-05-23 09:33:40

1

我碰到了同樣的錯誤,而試圖幾個框架,融入我的應用程序。

首先我是用麻雀 - 圖形庫,默認情況下我有一個main.m文件,一切都很好,直到我試圖整合解析這也依賴於FacebookSDK。在FacebookSDK文件夾中有一個名爲Scrumptious和一個main.m的示例應用程序,這也是我的問題的根源。我刪除了示例應用程序目錄,一切都很好。

2

我有同樣的錯誤,那是因爲我在兩個獨立的.m文件中定義具有相同名稱的常數。一旦我改變了其中一個名字,它就編譯了。

例如,在我ViewController.m我:

#import "ViewController.h" 
const int IPHONE4 = 480; 

,並在我的Menu.m:

#import "Menu.h" 
const int IPHONE4 = 480; 

我改變了我的Menu.m到:

#import "Menu.h" 
const int IPHONE4H = 480; 
相關問題