2013-01-10 60 views
1
duplicate symbol _leagueTableLoaded in: 
/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o 

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToMeViewController.o 

duplicate symbol _showGLobalCompany in: 

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o 

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToPositionViewController.o 

duplicate symbol _leagueTableLoaded in: 

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o 

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToPositionViewController.o 

ld: 3 duplicate symbols for architecture i386 

clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我得到上述錯誤在Xcode只有當我嘗試在模擬器建(任何iOS設備,我可以建立一個沒有錯誤的)。我有三類:的Xcode錯誤「重複的符號」,導致蘋果的Mach-O連接錯誤

1.LTGlobalResultsViewController 2.LTJumpToMeViewController 3.LTJumpToPositionViewController

三人都在Xcode中創建的,但二者2 & 3已被修改的Xcode外面再重建。

@property bool leagueTableLoaded在所有三個標題中定義。它被宣佈爲:

@property bool leagueTableLoaded; 

究竟是什麼造成了這個錯誤?我試過以下內容:

  1. 我試過在不同的類中重命名leagueTableLoaded,但是這並不能解決它。

  2. 我試過在庫/開發人員/ xcode文件夾中手動刪除我的派生數據文件。

  3. 根據其他問題,我檢查了是否導入.m文件。不是這種情況。 Apple Mach-O Linker error ("duplicate symbol")

其他建議或意見? 謝謝, 詹姆斯

增加:按要求請找出所有從我的.h和.m文件引用leagueTableLoaded或任何試圖避開這個錯誤,當我創建變體的提取物:

LTJumpToMeViewController.h 
@property bool leagueTableLoadedMe; 

LTJumpToMeViewController.m 
@implementation LTJumpToMeViewController 
bool leagueTableLoaded = false; 

LTGlobalResultsViewController.h 
@property bool globalLeagueTableLoaded; 

LTGlobalResultsViewController.m 
@implementation LTGlobalResultsViewController 
bool leagueTableLoaded = false; 

LTJumpToPositionViewController.h 
@property bool leagueTableLoadedPos; 

LTJumpToPositionViewController.m 
@implementation LTJumpToPositionViewController 
bool leagueTableLoaded = false; 

如果需要,我可以提供更多信息!

+0

請顯示聲明這些屬性(或至少其中之一)的頭文件。 – trojanfoe

+0

在問題主體中更新。謝謝 – JamesLCQ

+0

這還不足以解決這個問題。請轉到命令提示符並切換到您的項目目錄並輸入'find。 -type f -exec grep leagueTableLoaded {} \;'並在這裏發佈輸出。 – trojanfoe

回答

0

這是因爲在LTGlobalResultsViewController.m和LTJumpToPositionViewController.m中都定義了由leagueTableLoaded bool引起的。

將其從其中一箇中移除可解決問題。雖然我不確定它爲什麼在第一位!希望這可以幫助任何遇到同樣問題的人!詹姆斯

6

對我來說是重複的符號錯誤來到了我缺席一心包括一個.m文件,而不是一個.H(爲什麼Xcode的自動提示,甚至告訴我.m文件?)

0

的Xcode錯誤「重複的符號時, 「導致Apple Mach-O鏈接程序錯誤是由Project中的重複符號引起的。步驟,以避免錯誤

  1. 轉到項目 - >目標 - >構建階段 - >編譯來源
  2. 檢查重複的文件(執行文件)
  3. 刪除文件並重新添加
  4. 清潔並再次運行項目

這對我有效。希望它可以幫助

0

在第二視圖控制器,你誤#進口「First.m」,檢查它必須是first.h文件,以便與first.h替換此。它爲我工作。

相關問題