2015-02-10 30 views
0

我已經完成了幾個小時的搜索,仍然沒有運氣(也讀了很多stackoverflow)。如何解決「架構x86_64的未定義符號:」?

我試圖通過Cocoapods實現FDTake。當我嘗試運行它,我得到如下:

undefined symbols for architecture x86_64: 
"_OBJC_CLASS_$_FDTakeController", referenced from: 
    objc-class-ref in VendeViewController.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我知道周圍有這麼多類似的問題,但他們所有的解決方案似乎並沒有爲我工作。

+0

編號說這個組件的構建設置不包括x86_64(這隻在構建模擬器,是嗎?) 如果它是一個開源的東西,你有代碼,那麼你可以改變構建設置,但如果其編譯的lib /框架,那麼你需要聯繫開發人員 – Jef 2015-02-10 23:13:24

+0

@Jef不,它不適用於設備: – espitia 2015-02-10 23:15:56

回答

0

從日誌中我可以假設你將使用一個靜態庫,而不是爲模擬器(架構x86_64)構建。

該庫僅針對設備進行編譯,並且需要編譯並構建模擬器。然後,這兩個靜態文件(一個用於設備的abc.a和一個用於模擬器的abc.a)需要是胖文件,即這些文件應該在終端上使用lipo命令合併在一起以創建一個胖文件。現在,當你使用這個胖文件時,它既可以用於模擬器,也可以用於設備。

但重要的是,您應該有源代碼來編譯和構建模擬器和設備的靜態庫。之後,您將它們合併爲一個可在所有定義的體系結構上工作的胖文件。

如果您正在使用第三方靜態庫(SDK),那麼您需要聯繫受尊敬的方。

相關問題