5

私のプロジェクトでは、いくつかのリンク エラーがあり、それぞれが libz が見つからないことを示しています。次に例を示します。

 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の再起動、派生データの消去などはすでに試しました)

4

1 に答える 1

2

現在のバージョンの XCode には何か問題があります。プロジェクトでの以前の試行からすべての zlib / libz 参照を削除する必要があります。次に、Finder で /usr/lib を開き、libz.dylib をソース ファイルと一緒にプロジェクトに手動でドラッグします。それが5分前に私にとってうまくいったことです。

どうしたのかわからない。適切にコンパイルされる zlib を使用するプロトタイプ プロジェクトがありますが、zip コードをコピーして貼り付け、サポート ファイルを実際のプロジェクトにコピーすると、同じ zlib-missing エラーでコンパイルできませんでした。プロトタイプ プロジェクトはコンパイルを続けます。プロジェクト間のセットアップに違いはありません! 私の実際のプロジェクトでは、libz.dylib を追加しようとしましたが、それはリンクされていないバージョン (libz.1.dylib) です。リンカのビルド オプションに -lz を手動で追加しようとしましたが、どちらも役に立ちませんでした。イェーイファインダー!これがあなたにとってもうまくいくことを願っています。

于 2015-08-24T00:56:35.857 に答える