2011-07-21 69 views
7

将一个项目移动到Xcode 4.2,我得到了许多Mach-O链接器未解决的错误,例如_crc32,_expf和_UnwindSjLj_Register,这些项目在Xcode 4.0.3中编译和链接良好。Xcode 4.2链接错误:libz问题?

我怀疑这可能是一个libz的问题,因为我以前的项目链接libz.1.2.3.dylib。我删除了该引用,并添加了在我的/Platforms/iPhoneOS.platform/DeviceSupport/5.0(9A5259f)/ Symbols 1/usr/lib文件夹中找到的libz.1.2.5.dylib。

无论我是否包含libz.1.2.5.dylib,我都得到了相同的39个未解决的引用,所以它看起来很可疑。

回答

30

libz.dylib的链接,但通过构建阶段选项卡添加它。

项目>> >>目标编阶段>>链接二进制与图书馆

+下的列表,然后选择libz.dylib则反而会加重的lib所以它会工作其间的SDK的更新。

+0

谢谢,这样做,它现在在任何一个SDK中都链接了这个库。谢谢。 –

+0

@epatel,与问题无关,但我无法在Google中找到它。我可以在Snow Leopard中使用XCode 4.2,还是Lion需要?如果你回答,我会很感激。非常感谢! –

+1

@Comptrol如果您登录到developer.apple.com,您会发现两种不同的下载,一种是Lion,一种是Snow Leopard。 – epatel

0

对这个lib-libz.1.2.3.dylib存在问题。如所建议的,我添加了libz.dylib。仍然收到“ld:Library找不到-lz.1.2.3”的消息。删除了引用构建成功。尝试用libz.1.2.5.dylib替换libz.dylib并仍然没有错误地构建。 XCode 4.3.2,Lion(OS X 10.7.4)

0

我有同样的问题。 它工作xcode 4.2。当我运行在xcode 4.5中的应用程序。 我有这个问题。 libz.dylib(没有这样的文件或目录)命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool失败,退出代码为1. 我试过用libz1.2.5dylib。但没有用