2015-08-20 53 views
5

在我的项目中,我有几个链接错误,它们每个都指向缺少libz。这里是例子:Libz未在XCode中链接

Undefined symbols for architecture arm64: 
"_inflateReset2", referenced from: 
      _png_inflate_claim in libcocos2d iOS.a(pngrutil.o) 
     "_inflateEnd", referenced from: 
      cocos2d::unzCloseCurrentFile(void*) in libcocos2d iOS.a(unzip.o) 
      cocos2d::ZipUtils::inflateMemoryWithHint(unsigned char*, long, unsigned char**, long*, long) in libcocos2d iOS.a(ZipUtils.o) 
      _png_destroy_read_struct in libcocos2d iOS.a(pngread.o) 
      +[GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o) 
      _FT_Stream_OpenGzip in libcocos2d iOS.a(ftgzip.o) 
      _ft_gzip_stream_close in libcocos2d iOS.a(ftgzip.o) 
      _FT_Gzip_Uncompress in libcocos2d iOS.a(ftgzip.o) 
      ... 
     "_deflate", referenced from: 
    +[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o) 
     "_deflateInit2_", referenced from: 
      +[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o) 
     "_inflateReset", referenced from: 
      _png_decompress_chunk in libcocos2d iOS.a(pngrutil.o) 
      _FT_Stream_OpenGzip in libcocos2d iOS.a(ftgzip.o) 
      _ft_gzip_file_io in libcocos2d iOS.a(ftgzip.o) 

所以看起来像外部库(cocos2d的& GA)无法找到这个库。我在链接二进制库和我的目标,也有-lz旗帜在其他灵魂标志。删除任何这些保持这种错误。

什么会导致此问题?这可能如何解决?

(我已经尝试过的事情像重新启动的XCode,清洗得到的数据等)

回答

2

有一些靠不住的与XCode的当前版本。您需要清除项目中先前尝试的所有zlib/libz引用,然后在Finder中打开/ usr/lib,然后将libz.dylib手动拖放到您的项目中以及源文件中。这就是五分钟前为我工作的。

我不知道这是怎么回事。我有一个使用zlib编译正确的原型项目,但是当我复制粘贴&粘贴的邮政编码&将支持文件复制到我的真实项目时,我无法编译,具有相同的zlib缺失错误。原型项目不断编译。项目之间没有设置差异!在我的真实项目中,我尝试添加libz.dylib并且它是非链接版本(libz.1.dylib),我尝试手动将-lz添加到链接器构建选项,但都无济于事。 Yay Finder!我希望这也适用于你。

+0

完美,谢谢! – Polina