2013-04-04 87 views
0
Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_EvernoteSession", referenced from: 
    objc-class-ref in AppDelegate.o 
"_OBJC_CLASS_$_SHK", referenced from: 
    objc-class-ref in AppDelegate.o 
"_OBJC_CLASS_$_SHKConfiguration", referenced from: 
    objc-class-ref in AppDelegate.o 
"_OBJC_CLASS_$_SHKFacebook", referenced from: 
    objc-class-ref in AppDelegate.o 
"_OBJC_CLASS_$_SHKGooglePlus", referenced from: 
    objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我已經使用了很多搜索引擎,但是找不到適合我的anithyng。我按照安裝指南,一步一步,我已經三重檢查,我已經添加了所有需要的框架,我讀&試過這個"symbol(s) not found for architecture i386" problem using ShareKit,但仍然得到這個錯誤...請幫助!Sharekit - 爲體系結構i386定義的符號:

回答

0

首先告訴我,如果你必須把任何framework作爲複製粘貼?在大多數情況下創建了這種類型的問題。

一般來說這個錯誤的類型好發時,你的類.m文件並不存儲/下Compile Sources

推杆在這種情況下,你需要手動此.m文件添加到Compile Sources

接着步驟描述如何把.m文件中Compile Sources手動

Select Project Form Project Manager 
    | 
    | 
    Targets 
     | 
     | 
    Build Phases 
      | 
      | 
     Compile Sources 
       | 
       | 
     Click on '+' button and add .m file in it 

這是步驟如何手動將文件放入Compile Sources

EDITE:

我不知道,但我認爲你忘記添加CoreData.framework先添加它。 請參閱此問題How to "add existing frameworks" in Xcode 4?如何添加框架

0

嘗試這種情況:

1)清潔代碼(按CMD + Shift + K)

2)退出Xcode和重新啓動再次

3)確保SHKFacebook.m,SHKConfiguration.m etc文件添加到Build Phases和Compile Sources中。

4)確保在Sharekit所有子模塊下載...

希望這有助於...

1

12小時瘋狂之後,我意識到,我的文件夾樹是錯誤的。您可以通過下載的git(也很容易讓一個圖標推我一樣),或通過瀏覽器的文件,但你必須有一個結果一樣要注意:

Project Root 
| 
|-Submodules 
    | 
    |-ShareKit 
     | 
     |-Submodules 
     | 
     |-All the subfolder with files (notice that if you download it as .zip from github, the folder will be created but they are EMPTY! 

如果從這個有什麼區別,你會得到巨大的&不可預知的問題!

感謝大家的幫助。 PS:我建議嘗試將ShareKit添加到一個新的空項目中,以便熟悉它並保留真實的項目。

相關問題