2015-09-02 54 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 .