2013-02-07 84 views
4

我得到這個錯誤,當我試圖建立:重複的符號誤差i386硬件架構

「重複的符號__Z8ERRCHECK11FMOD_RESULT在:

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewController.o 

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewControllerIpad.o 

LD:爲i386硬件架構 鐺1個重複的符號:錯誤:連接命令失敗,退出代碼1(使用-v查看調用)「

如何解決這個傢伙?

+0

這些文件是否在您的項目中存在多次檢查? – Exploring

+0

您是否意外地導入了.m文件?或者在編譯源文件中是否有重複的文件? – esh

+0

在我的情況下,項目>構建設置>其他鏈接器標誌(這裏相同的文件/框架被導入兩次,刪除重複的文件/框架後,工作正常!!) –

回答

19

將一個文件的內容複製並粘貼到其接口名稱的另一個文件時,可能會出現錯誤,這意味着兩個具有相同接口名稱的類。

In your code you have two different files with the same Interface name.

2

看起來您至少有一個(可能更多)符號(或方法,函數等)在MagicSleepViewController.m和MagicSleepViewControllerIpad.m之間重複。

您需要:1)改變一組的複製方法的名稱或2)找出一種方法來合併MagicSleepViewController.m & MagicSleepViewControllerIpad.m所以相同的代碼將在兩個iPhone和iPad的工作(使用運行如時間條件或任何來確定你的代碼當前運行在哪種設備上)。

+0

感謝了很多老兄。你解決了我的問題。 – John

3

,當你在兩個不同的類創建具有相同名稱的布爾變量,那麼這個錯誤出現。 「 」中的重複符號__Z8ERRCHECK11FMOD_RESULT,因此請檢查您的兩個類 MagicSleepViewController.m和 MagicSleepViewControllerIpad.m。對於相同的bool變量,使用 。

更改bool變量名,你的問題就解決了。

5

對我來說,這個錯誤發生的原因是我足夠笨,將下載的lib的整個文件夾複製到項目中,並且裏面有一個演示項目。所以我有兩個main.m文件。希望這有助於任何人!

+0

是我也是笨笨 –

4

在我的情況下,我意外地導入了.m文件,而不是.h文件。希望它可以幫助某人這種愚蠢的錯誤。

+0

謝謝,你治好我的頭痛..大聲笑,這是我的朋友誰加.m文件。你的回答讓我在頭文件中搜索.m文件 – RamGrg

0

我把#定義放在兩個完全相同的文件中...... DOH。

0

對我而言,在查找器中搜索命名的重複項已經有所幫助。

0

在我的情況下,問題是由於「編譯源」中的多個引用引起的。所以我從Project-> Build Phases-> Compile Sources中刪除了一個。

相關問題