2012-09-14 45 views
4

我試圖構建框架,但它返回一個編譯器錯誤。如何解決這個錯誤?BlocksKit框架編譯器錯誤

enter image description here

+0

錯誤不可查看,您可以清楚地發佈錯誤消息嗎? – Ami

+0

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:未知選項字符'W'在:-Wl,-no_compact_unwind 命令...失敗,退出代碼爲1 –

+0

我已經得到這個錯誤也是。刪除標誌導致其他錯誤發生:( – Kevlar

回答

0

你的靜態庫鏈接blockskit?我認爲「-Wl,-no_compact_unwind」鏈接器標誌在那裏不起作用。解決方法可能是從cocoapods生成的xcconfig文件中刪除該標誌?當我這樣做時,錯誤似乎消失了。

1

Blockskit依賴於在其podspec中包含此標誌的libffi。但是,自從版本ld64-134.9以後,它似乎不再支持鏈接器(您可以通過從命令行輸入ld -v來檢查您正在運行的版本)。

我發送了拉取請求來解決這個問題。同時,我發現的唯一解決方案是在每次運行「pod install」後,從生成的Pods.xconfig文件中手動刪除「-Wl,-no_compact_unwind」。順便說一句,無論您是否針對靜態庫或應用程序進行鏈接,都會出現問題。

我希望我的修復很快就會合並。

** **更新

固定!

** **更新

不幸的是,BlocksKit開發商沒有接受我的解決辦法,問題並不在他的試驗機重現。因此,現在最好的選擇是: 1.在每次「pod更新」後手動刪除標誌(如上所述) 2.分叉BlocksKit,從那裏刪除編譯器標誌,然後更新Podfile以指向您的分叉的原始項目。您必須現在手動提取原始項目,然後才能保持最新狀態。