2015-09-02 67 views
1

我正試圖將我的項目從iOS 8遷移到iOS 9.任何我遇到一些庫錯誤。我正在使用XCode7-beta6。iOS 9和XCode 7 dylib問題

這裏是如何看起來像:

錯誤:/應用/的Xcode-β2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:無法打開文件:/應用程序/ Xcode-beta 2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libz.dylib(沒有這樣的文件或目錄)

libz.dylib包含在「鏈接二進制庫」中。

現在我知道這個dylib是過去的剩餘物,因爲如果我刪除它然後嘗試再次添加它,我發現tbd文件,而不是dylib文件。

這裏有一個答案:https://forums.developer.apple.com/message/8609#8609爲解決這個問題,但我曾嘗試添加libz在其他鏈接器標誌爲-libz和-l。他們都沒有工作。

如何讓項目找到圖書館?

謝謝

+0

http://stackoverflow.com/questions/30859416/how-to-link-to- libz-and-libsqlite-in-xcode-7-beta –

+0

我認爲它應該是「-lz」,而不是「-libz」。我添加了「-lsqlite3 -lz」,它讓我超越了這個問題。 – Chocobonstrife

回答

0

首先,升級到GM種子,看看問題是否消失。

如果失敗了,您可能可以使用以前版本的Xcode重新打開該項目(它不會失敗構建),然後將該庫(在文件檢查器中)從項目相對或絕對更改爲與SDK相關。

如果失敗,刪除該庫並通過單擊「+」添加框架和庫,然後將實際的dylib從SDK根拖到生成的打開對話框(IIRC)中來重新添加它。確保你追蹤每個對該圖書館的引用。我建議在.xcodeproj文件夾的內容上使用「grep -r」。

0

只需添加libz.tbd,它會解決這個問題

2

這爲我工作:

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/usr/lib 
sudo cp /usr/lib/libz.dylib .