2013-02-24 55 views
3

當我編譯我的iPhone應用程序和Xcode 4.6,我看到一個奇怪的錯誤代碼:爲i386硬件架構重複的符號,找不到類相同的名稱和文件

"duplicate symbols for architecture i386".

我知道重複這個問題文件名或類名。所以我試圖通過使用Finder中的搜索欄來查找文件。我也嘗試用Xcode中的搜索欄搜索重複類,但是我找不到它。我已經檢查過我沒有導入.m文件。

接下來應該做什麼?請給出任何建議。

+0

請顯示完整的錯誤信息。 – 2013-02-24 22:14:12

+0

應該有一點關於_OBJC_CLASS _ $ _ SomeClass.o的額外內容。有你的笨蛋。 – CodaFi 2013-02-24 22:19:33

+0

重複的符號_FormatTypeTime在: /Users/Takuy​​aTakahashi/Library/Developer/Xcode/DerivedData/ITPOSMOBILE-azsoqgumbqsbhqdzykxvselnxfvj/Build/Intermediates/ITPOSMOBILE.build/Debug-iphonesimulator/ITPOSMOBILE.build/Objects-normal/i386/main.o /Users/Takuy​​aTakahashi/Library/Developer/Xcode/DerivedData/ITPOSMOBILE-azsoqgumbqsbhqdzykxvselnxfvj/Build/Intermediates/ITPOSMOBILE.build/Debug-iphonesimulator/ITPOSMOBILE.build/Objects-normal/i386/ITSDatePickerCell.o ld:464重複的體系結構符號i386 clang:錯誤:鏈接器命令失敗,退出代碼1(使用-v查看調用) – 2013-02-24 22:57:54

回答

1

當具有相同名稱的文件被編譯兩次時,會發生此錯誤。

轉到項目目標 - >構建階段 - >在「編譯源代碼」下查找多個相同文件。您也可以在那裏搜索文件名。

從那裏刪除多個事件。

如果在項目中多次添加文件,則刪除重複的文件&只保留一個。

13

我可以自己解決這個問題。

我在頭文件中聲明。

NSString * const FormatTypeTime = @"~~~~~";

我應該聲明

static NSString * const FormatTypeTime = @"~~~~~";

我忘了用 「靜態」。我在很多文件中使用了這個變量。這就是每個文件看起來像重複的原因。

感謝您回答我的問題!

+0

有人可以exmplain爲什麼發生這種情況,而不使用「靜態」關鍵字? – AndrewShmig 2013-04-10 19:18:16

+0

我的情況。非常感謝,這救了我。 – Dumoko 2013-11-06 09:02:57

1

該錯誤表明,在任何2個文件中,變量名稱(或方法名稱)都是重複的,具有全局範圍。你可以解決這個問題,

*)重命名變量或方法

OR

*)更改變量或方法,以當地(範圍通過添加聲明語句接口.m文件的部分)

相關問題