2011-08-07 36 views
2

我在iOS中編譯Xcode時遇到此錯誤。Xcode中未定義的符號

Undefined symbols for architecture i386: 
"_CGRectInset", referenced from: 
    -[RootViewController viewDidLoad] in RootViewController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

該應用程序是一個乾淨的項目,只是從Xcode提供的模板構建而成。

任何想法?

回答

1

我通過添加CoreGraphics在框架連接的框架和庫列表中有同樣的問題與「基於頁面的應用程序」模板創建了一個項目,在XCode4開發者預覽版5.

你可以解決它。換句話說:

  1. 選擇導航項目文件(左窗格)
  2. 選擇應用目標(唯一另一種是檢查對象)
  3. 在摘要選項卡,向下滾動到「鏈接的框架和庫」
  4. 擊中+ andd CoreGraphics.framework。

然後它建立並運行。

2

這可能是由於項目沒有鏈接到正確的庫。也可能是因爲SDK安裝中缺少Frameworks。在Build Phases部分中,確保您的應用程序與UIKit和CoreGraphics鏈接。另外,它也可能有助於添加QuartzCore框架,儘管我懷疑這是需要的。

+0

我正在使用XCode 4.5.2並且有類似的問題。添加QuartzCore框架解決了這個問題。請注意,我以前導入QuartzCore.h和使用.layer沒有框架沒有問題。一旦我開始使用CALayer和CABasicAnimation,我開始有鏈接錯誤(添加QC框架解決了這些鏈接錯誤) –