ios - 包含另一个 Xcode 项目时出现链接器错误

标签 ios xcode linker-errors

我正在尝试包含此project在我的迅速。本项目使用ffmpeg播放器。所以我将整个文件拖到我的项目下。我有很多编译时错误,我解决了它们。最后我收到链接器错误。这些是错误:

    Undefined symbols for architecture x86_64:
  "_deflateReset", referenced from:
      _encode_frame in libavcodec.a(pngenc.o)
      _encode_frame in libavcodec.a(lclenc.o)
      _encode_frame in libavcodec.a(zmbvenc.o)
  "_deflateBound", referenced from:
      _encode_png in libavcodec.a(pngenc.o)
      _encode_apng in libavcodec.a(pngenc.o)
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      _encode_frame in libavcodec.a(lclenc.o)
  "_inflateInit_", referenced from:
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
      _rtmp_open in libavformat.a(rtmpproto.o)
      _swf_read_header in libavformat.a(swfdec.o)
      _decode_frame_apng in libavcodec.a(pngdec.o)
      _decode_frame_png in libavcodec.a(pngdec.o)
      _decode_text_chunk in libavcodec.a(pngdec.o)
      _flashsv_decode_init in libavcodec.a(flashsv.o)
      ...
  "_BZ2_bzDecompressInit", referenced from:
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
  "_deflateInit2_", referenced from:
      _png_enc_init in libavcodec.a(pngenc.o)
  "_inflate", referenced from:
      _http_read_stream in libavformat.a(http.o)
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
      _rtmp_open in libavformat.a(rtmpproto.o)
      _zlib_refill in libavformat.a(swfdec.o)
      _decode_frame_common in libavcodec.a(pngdec.o)
      _decode_text_chunk in libavcodec.a(pngdec.o)
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      ...
  "_inflateReset", referenced from:
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      _zlib_decomp in libavcodec.a(lcldec.o)
      _decode_frame in libavcodec.a(tscc.o)
      _zerocodec_decode_frame in libavcodec.a(zerocodec.o)
      _decode_frame in libavcodec.a(zmbv.o)
  "_inflateInit2_", referenced from:
      _http_read_header in libavformat.a(http.o)
  "_BZ2_bzDecompress", referenced from:
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
  "_BZ2_bzDecompressEnd", referenced from:
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
  "_iconv", referenced from:
      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)
  "_iconv_open", referenced from:
      _avcodec_open2 in libavcodec.a(utils.o)
      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)
  "_iconv_close", referenced from:
      _avcodec_open2 in libavcodec.a(utils.o)
      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)
  "_uncompress", referenced from:
      _id3v2_read_internal in libavformat.a(id3v2.o)
      _mov_read_cmov in libavformat.a(mov.o)
      _swf_read_packet in libavformat.a(swfdec.o)
      _decode_frame in libavcodec.a(cscd.o)
      _decode_frame in libavcodec.a(dxa.o)
      _decode_block in libavcodec.a(exr.o)
      _g2m_decode_frame in libavcodec.a(g2meet.o)
      ...
  "_compress", referenced from:
      _encode_strip in libavcodec.a(tiffenc.o)
  "_compress2", referenced from:
      _flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
      _flashsv_encode_frame in libavcodec.a(flashsvenc.o)
  "_uregex_close", referenced from:
      _clearCacheSlotRegex in RegexKitLite.o
  "_u_errorName", referenced from:
      _userInfoDictionary in RegexKitLite.o
      _RKLNSExceptionForRegex in RegexKitLite.o
  "_inflateSync", referenced from:
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
  "_uregex_findNext", referenced from:
      _rkl_find in RegexKitLite.o
      _rkl_splitArray in RegexKitLite.o
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_appendReplacement", referenced from:
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_end", referenced from:
      _rkl_find in RegexKitLite.o
  "_inflateEnd", referenced from:
      _http_close in libavformat.a(http.o)
      _http_read_header in libavformat.a(http.o)
      _matroska_decode_buffer in libavformat.a(matroskadec.o)
      _rtmp_open in libavformat.a(rtmpproto.o)
      _swf_read_close in libavformat.a(swfdec.o)
      _decode_frame_apng in libavcodec.a(pngdec.o)
      _decode_frame_png in libavcodec.a(pngdec.o)
      ...
  "_deflate", referenced from:
      _encode_frame in libavcodec.a(pngenc.o)
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      _flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
      _encode_frame in libavcodec.a(lclenc.o)
      _encode_frame in libavcodec.a(zmbvenc.o)
  "_uregex_start", referenced from:
      _rkl_find in RegexKitLite.o
  "_uregex_reset", referenced from:
      _rkl_splitArray in RegexKitLite.o
      _rkl_replaceAll in RegexKitLite.o
  "_u_strlen", referenced from:
      _userInfoDictionary in RegexKitLite.o
  "_zlibCompileFlags", referenced from:
      _http_read_header in libavformat.a(http.o)
  "_uregex_find", referenced from:
      _rkl_find in RegexKitLite.o
  "_deflateInit_", referenced from:
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      _flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
      _encode_init in libavcodec.a(lclenc.o)
      _encode_init in libavcodec.a(zmbvenc.o)
  "_uregex_open", referenced from:
      _getCachedRegex in RegexKitLite.o
  "_uregex_appendTail", referenced from:
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_groupCount", referenced from:
      _getCachedRegex in RegexKitLite.o
  "_deflateEnd", referenced from:
      _png_enc_close in libavcodec.a(pngenc.o)
      _flashsv_decode_frame in libavcodec.a(flashsv.o)
      _flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
      _flashsv_encode_init in libavcodec.a(flashsvenc.o)
      _flashsv_encode_end in libavcodec.a(flashsvenc.o)
      _encode_end in libavcodec.a(lclenc.o)
      _encode_init in libavcodec.a(zmbvenc.o)
      ...
  "_uregex_setText", referenced from:
      _clearCacheSlotSetTo in RegexKitLite.o
      _setCacheSlotToString in RegexKitLite.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

据我所知,这些是 .a 文件中的错误。当我运行原始项目时,它运行良好,但是当我将它包含在我的项目中时,我遇到了这些错误。我该如何解决这些错误?

最佳答案

需要添加一些dylib框架。 从目标添加“libz.dylib”到框架 ->构建阶段选项卡 ->将二进制文件与库链接, 您可以通过错误键搜索框架 希望这对你有用。

关于ios - 包含另一个 Xcode 项目时出现链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803836/

相关文章:

ios - 在 UIScrollView 中嵌入 UICollectionView 几乎完美

objective-c - 将项目转换为使用 ARC 时, "switch case is in protected scope"是什么意思?

c++ - 将 undefined reference 错误限制为仅直接依赖

visual-c++ - 使用 v110_xp : "cannot open file ' , 5.0 1'"时出现链接器错误

ios - 为什么我不能以这种方式将数据添加到 Firebase 中?

ios - 如何让iOS应用程序与蓝牙连接?

ios - 通过 IndexPath 从 CollectionViewCell 转到另一个 View Controller

iphone - 当对象已经处于动画状态时,如何更改其动画?

iphone - 使 tableviewcell 在显示键盘时向上滚动

c++ - undefined symbol "vtable for ..."和 "typeinfo for..."?