2012-05-29 42 views
0

我試圖更新我們之前使用的框架,因爲他們已經完全更新了它,不僅僅是更新文件的簡單方法。鏈接錯誤引用

在我的項目中,我剛剛刪除了當前框架並添加了新框架。 經過一些測試,我想回到舊版本,所以我刪除了新的框架,並再次添加舊的框架。所以在代碼或文件中基本沒有任何變化。

但是,當我嘗試構建我的文件時,我得到這個鏈接錯誤,再次,沒有對代碼進行更改。

ld: duplicate symbol _OBJC_IVAR_$_DocumentViewController.thumbPage in /Users/wouter/Library/Developer/Xcode/DerivedData/WiC-dubdfuwbsdrffuatbuonqmpzuvcz/Build/Intermediates/WiC.build/Debug-iphonesimulator/WiC.build/Objects-normal/i386/DocumentViewController-B98A1B42C236E973.o and /Users/wouter/Library/Developer/Xcode/DerivedData/WiC-dubdfuwbsdrffuatbuonqmpzuvcz/Build/Intermediates/WiC.build/Debug-iphonesimulator/WiC.build/Objects-normal/i386/DocumentViewController-B98A1B42C236E973.o for architecture i386

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

爲什麼它會給我這個錯誤,如果一切都和以前一樣? 我的猜測是Xcode保留了一些引用(即使我要求刪除它們)以刪除文件。

關於如何擺脫這個的任何想法?

回答

1

原來,我的「編譯源」保留了對先前刪除的同一文件的引用,試圖刪除它並沒有幫助。 完成Clean and Clean構建文件夾後,問題就被神奇地修復了。

1

我敢打賭,你不小心#imported一個.m文件,而不是.h文件。檢查以確保您的#import讀數爲

#import DocumentViewController.h 

做一次清潔並再次運行。

+0

它說DocumentViewController.h,一切工作完美之前,直到嘗試其他框架。 –

+0

按shift + cmd + f並搜索'.m''(沒有單引號,但包括最後一個雙引號) – CodaFi

+0

是,「找不到結果」 –

2

您確定自己版本一樣嗎?你能用git退出到那個版本嗎?

所以你的項目是找到伊娃DocumentViewController.thumbPage的至少2個副本...你:

  1. 做一個乾淨的所有
  2. 刪除build目錄

如果這不起作用,我會搜索項目或project.pbxproj文件(僅使用文本編輯器),並查看是否可以找到將添加到包含此目標的對象或2個框架。

如果這不起作用,請刪除.xcodeproj目錄並創建一個新目錄並將所有文件添加到該目錄中......但這是最後的手段。

+0

Clean en Clean build文件夾確實幫了我。 –