2015-08-20 56 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