Ios 包含另一个Xcode项目时发生链接器错误
我正试图在swift中包含这一点。这个项目使用ffmpeg播放器。所以我把整个文件拖到我的项目下。我有很多编译时错误,我解决了它们。最后,我得到链接器错误。以下是错误:Ios 包含另一个Xcode项目时发生链接器错误,ios,xcode,linker-errors,Ios,Xcode,Linker Errors,我正试图在swift中包含这一点。这个项目使用ffmpeg播放器。所以我把整个文件拖到我的项目下。我有很多编译时错误,我解决了它们。最后,我得到链接器错误。以下是错误: Undefined symbols for architecture x86_64: "_deflateReset", referenced from: _encode_frame in libavcodec.a(pngenc.o) _encode_frame in libavcodec.a(
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文件中的错误。当我运行最初的项目时,它运行得很好,但是当我将它包括在我的项目中时,我得到了这些错误。如何解决这些错误?需要添加一些动态库框架。 从目标->构建阶段选项卡->将二进制文件与库链接,将“libz.dylib”添加到框架中, 您可以按错误键搜索框架
希望这对您有用。如果有人在Unity 2019.3+>到Xcode 11.5+中进行构建,并且您出现Mach-O-Link错误或充气错误或链路故障,这将修复它。但是,请记住将libz.tbd添加到UnityFramework目标条目中,然后转到BuildPhases>“使用库链接二进制文件”。然后在顶部添加libz.tbd文件,将其添加到UnityFramework目标中。这为我解决了这个问题。我认为您需要安装podsTry来使用cocoa pods,而不是手动添加:该项目中已经安装了pods。事实上,我甚至可以在我的构建中添加pod库phases@nynohu谢谢你,我会检查的。这帮我解决了这个问题。它现在被称为“libz.tbd”,基本上是一个指向库的字符串文件。