簡體   English   中英

Xcode 4.4中的鏈接器錯誤

[英]Linker error in Xcode 4.4

從Xcode 4.3升級到Xcode 4.4后,我開始在構建我的iPhone應用程序時遇到以下錯誤:

ld: section __objc_const (address=0x0010C720, size=7265990088) would make the output executable exceed available address range for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

內存地址和數字對我來說沒有任何意義,但它們在清理和重建過程中保持一致。 我不清楚如何找到他們可能引用的內容。

代碼確實並且仍然在XCode 4.3中編譯。

有沒有人知道如何追蹤導致此錯誤的原因?

我有同樣的錯誤。 幸運的是,我可以回想起它出現的那一刻,回滾並比較修改。 這是Google Analytics GAI課程中使用靜態方法的類別。 我不知道為什么會這樣,因為項目中的其他類別工作得很好,但希望它也可以幫助別人。

您可以在鏈接映射文件中查看所有符號(包括全局變量)的大小:

  • 在目標的“構建設置”中,轉到“鏈接”部分,並將“寫入鏈接映射文件”設置為“是”。
  • 構建程序。 鏈接器將失敗,但會寫入鏈接映射文件。
  • 找到鏈接映射文件。 鏈接器的日志輸出顯示參數-map -Xlinker -/path/to/linkmapfile.txt 它位於項目的DerivedData文件夾中的某個位置。
  • 鏈接映射文件顯示所有符號的地址(第一列)和大小(第二列)。 對於全局變量,它顯示名稱以及它們所在的目標文件。
  • 您應該在鏈接映射文件中找到錯誤消息的地址(在您的示例中為0x0010C720)。
  • 您可以檢查鏈接映射文件以查找具有大尺寸的其他符號。

所以這或許有助於縮小問題范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM