将IJK集成到项目中后,必须要添加以下两个系统库libz.tbd、libc++.tbd。
屏幕快照 2019-09-12 上午10.58.05.png
1、不添加libz.tbd会抛出以下错误:
Undefined symbols for architecture x86_64:
"_zlibCompileFlags", referenced from:
_http_read_header in IJKMediaFramework(http.o)
"_deflate", referenced from:
_encode_frame in IJKMediaFramework(pngenc.o)
"_deflateReset", referenced from:
_encode_frame in IJKMediaFramework(pngenc.o)
"_inflate", referenced from:
_matroska_decode_buffer in IJKMediaFramework(matroskadec.o)
_http_read_stream in IJKMediaFramework(http.o)
_rtmp_open in IJKMediaFramework(rtmpproto.o)
"_deflateBound", referenced from:
_encode_png in IJKMediaFramework(pngenc.o)
_encode_apng in IJKMediaFramework(pngenc.o)
"deflateInit2", referenced from:
_png_enc_init in IJKMediaFramework(pngenc.o)
"inflateInit2", referenced from:
_http_read_header in IJKMediaFramework(http.o)
"_deflateEnd", referenced from:
_png_enc_close in IJKMediaFramework(pngenc.o)
"inflateInit", referenced from:
_matroska_decode_buffer in IJKMediaFramework(matroskadec.o)
_rtmp_open in IJKMediaFramework(rtmpproto.o)
"_inflateEnd", referenced from:
_matroska_decode_buffer in IJKMediaFramework(matroskadec.o)
_http_close in IJKMediaFramework(http.o)
_http_read_header in IJKMediaFramework(http.o)
_rtmp_open in IJKMediaFramework(rtmpproto.o)
"_uncompress", referenced from:
_id3v2_read_internal in IJKMediaFramework(id3v2.o)
_mov_read_cmov in IJKMediaFramework(mov.o)
2、不添加libc++.tbd会抛出以下错误:
"operator delete(void)", referenced from:
_ijk_map_destroy in IJKMediaFramework(ijkstl.o)
std::__1::__tree<std::__1::__value_type<long long, void>, std::__1::__map_value_compare<long long, std::__1::__value_type<long long, void>, std::__1::less<long long>, true>, std::__1::allocator<std::__1::__value_type<long long, void> > >::destroy(std::__1::__tree_node<std::__1::__value_type<long long, void>, void>) in IJKMediaFramework(ijkstl.o)
std::__1::__tree<std::__1::__value_type<long long, void>, std::__1::__map_value_compare<long long, std::__1::__value_type<long long, void>, std::__1::less<long long>, true>, std::__1::allocator<std::__1::__value_type<long long, void> > >::erase(std::__1::__tree_const_iterator<std::__1::__value_type<long long, void>, std::__1::__tree_node<std::__1::__value_type<long long, void>, void>, long>) in IJKMediaFramework(ijkstl.o)
"operator new(unsigned long)", referenced from:
_ijk_map_create in IJKMediaFramework(ijkstl.o)
std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<long long, void>, std::__1::__tree_node<std::__1::__value_type<long long, void>, void>, long>, bool> std::__1::__tree<std::__1::__value_type<long long, void>, std::__1::__map_value_compare<long long, std::__1::__value_type<long long, void>, std::__1::less<long long>, true>, std::__1::allocator<std::__1::__value_type<long long, void*> > >::__emplace_unique_key_args<long long, std::__1::piecewise_construct_t const&, std::__1::tuple<long long const&>, std::__1::tuple<> >(long long const&, std::__1::piecewise_construct_t const&&&, std::__1::tuple<long long const&>&&, std::__1::tuple<>&&) in IJKMediaFramework(ijkstl.o)
网友评论