iOS報錯:linker command failed with exit code 1 (use -v to see invocation)尋找答案之旅
iOS報錯:linker command failed with exit code 1 (use -v to see invocation
錯誤出現
Android開發程式設計師,接手了公司的iOS專案,接入了微信登入,本來執行的好好的,後來檢查的時候看到微信接入官網說要注意是不是微信的最新版本,不是的話要更新,就使用cocodpod
更新了一下,然後就再也編譯不了了。。。。在此記錄一下,錯誤如下:
Undefined symbols for architecture arm64: "operator delete[](void*)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) "operator new[](unsigned long)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) "___gxx_personality_v0", referenced from: Dwarf Exception Unwind Info (__eh_frame) in AppDelegate.o Dwarf Exception Unwind Info (__eh_frame) in main.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
問題分析
linker command failed with exit code 1 (use -v to see invocation) 出現的原因可能較多,根據提示往上查詢原因: symbol(s) not found for architecture arm64,即靜態庫不支援arm64格式。
解決問題步驟:
-
檢查出問題的靜態庫是否支援arm64格式,比如例子中的 是微信SDK,進入微信SDK靜態庫目錄,在終端執行命令
lipo -info
出現的結果包含arm64即是支援,因此不是靜態庫的原因。 -
檢視專案配置:
1).檢視專案的構建是否包含arm64
在build setting
2)、連結flag
-
另一種網上的解決方法說是與快取的庫衝突了,刪除快取的庫就行,根據錯誤提示取到快取的資料夾:
/Users/XXX/Library/Developer/Xcode/DerivedData 把這個路徑下的資料夾都刪除了,重新build ,還是不行。。。。
5.嘗試了以上方法都不可以,最後網上查詢提示說是連結不到靜態庫,那重新pop一下總可以了吧,關閉專案,刪除原來的微信SDK,重新執行pod install,重新build,抱歉還是不可以。。。
最終解決方案
在buid phases
下link binary with libraries新增 libc++.tbd,重新執行build。
成功了!!!
參考:
[1]: http://www.111cn.net/sj/ios8/88348.htm
[2]: https://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64?rq=13
[3]: http://www.cocoachina.com/ios/20170221/18737.html
[4]:https://blog.csdn.net/cheenbee/article/details/65437958 http://adrai.github.io/flowchart.js/