2016-12-06 62 views
0

我添加了微信登錄到我的xcode。但是,這些錯誤起作用。 我不知道如何解決這個錯誤。請幫幫我。蘋果Mach-O連接器(Id)錯誤(微信)

Apple Mach-O Linker (Id) Error 
"__wechatstore",referenced from: 
_Wechat__wechatstore_m13_992 in Bulk_Assembly-CSharp_1.o 
_Wechat_wechatstore_m13_995 in Bulk_Assembly-CSharp_1.o 
(maybe you meant: _Wechat__wechatstore_m13_992) 
Symbol(s) not found for architecture arm64 
Linker command failed with exit code 1 (use -v to see invocation) 
Activity Log Complete 
+0

庫是爲x86還是ARM編譯的?該應用程序似乎是爲ARM64設計的。 –

+0

你的意思是x86或ARM龍不應該在庫中? –

+0

看來你編譯了一個不同的CPU架構庫,可能是x86。您需要爲ARM64編譯它。 –

回答

0

消息意味着符號__wechatstore(這可能是一個指針,指向數據結構)不能供給到任何連接子二進制arm64中找到。因此,有幾件事情可能會出錯:

  • 具有此符號的庫可能未包含在編譯中。 (在Xcode中構建失敗時,轉到導航器中的「報告」選項卡,單擊失敗的內部版本,然後檢查失敗的「鏈接...」任務

  • 庫可能包含但不能編譯爲arm64。現在我想到了,我認爲這是最有可能的情況。arm64支持是蘋果公司支持iPad Pro的一項新要求,我敢打賭,該庫可能只包含armv7。該架構通過在圖書館運行file命令包括

一個可能的臨時解決方案是停止編譯爲arm64,並嘗試只是編譯ARMv7的。要做到這一點去工程中的t>構建設置>體系結構>體系結構,並從$(ARCHS_STANDARD)$(ARCHS_STANDARD)更改爲armv7。 (nb:idk,但我不會嘗試提交沒有適當的應用程序架構的二進制文件)

+0

謝謝。但是,這是函數調用的問題。 Unity調用了一個不在xcode中的函數。 –