2013-08-30 62 views
0

未定義的符號,我想Facebook的庫鏈接到我的應用程序,但我得到這個非常奇怪的錯誤:爲i386硬件架構聯的Facebook SDK

enter image description here

這是什麼意思?我得到這個工作在另一個應用程序,文件和代碼是相同的...

+0

它看起來像Facebook的庫要麼不建在首位或沒有被鏈接...請問Facebook的IOS-SDK目標出現在您的應用目標的目標依賴項中,並且是您的應用目標的鏈接二進制庫與構建階段中包含的'libfacebook_ios_sdk.a'? –

+0

沒有libfacebook_ios_sdk.a文件 – Alessandro

+0

對不起,我想你可能會以不同的方式包含facebook代碼,而不是我通常的做法......你是否在鏈接「FacebookSDK.framework」(來自https://developers.facebook.com/ docs/ios /),還是將facebook-ios-sdk項目(來自https://github.com/facebook/facebook-ios-sdk)作爲應用程序Xcode項目的子項目?還有別的嗎?也許你剛剛在你的應用程序的Xcode項目中包含了Facebook SDK源文件? –

回答

1

您看到的錯誤是從鏈接器。當你編譯你的代碼時,編譯器可以找到你需要的所有函數的聲明,因爲你包含了facebook頭文件(facebook.h)。但是,當需要鏈接你的程序時,鏈接器會嘗試並找不到這些Facebook方法的編譯版本。您需要將facebook SDK帶入您的項目並與其鏈接。

我要推薦鏈接對Facebook的SDK的方式實際上是一個我還沒有嘗試過,但它看起來像讓你的項目建設最簡單的方法:

  1. 下載並安裝FacebookSDK框架從here
  2. FacebookSDK.framework包拖動到您的Xcode項目中,該包將以〜/ Documents/FacebookSDK結尾。
  3. 提供選項時,選擇不要「將項目複製到目標組的文件夾中」,並確保在「添加到目標」部分中選擇了應用程序目標。

您可能必須更改當前的#import/#include行。要查看剛纔導入的框架facebook的方法,你應該導入這樣的:

#import <FacebookSDK/FacebookSDK.h> 
+0

謝謝,這刪除了大部分的錯誤,但我意識到我也必須添加address.framework – Alessandro

相關問題