自己写了一个音视频的小Demo,编译时,报了一个错,记录一下,避免下次再犯这种奇葩错误!!!
libavformat/utils.c:5548: error: undefined reference to 'av_bitstream_filter_filter'
libavformat/codec2.c:74: error: undefined reference to 'avpriv_codec2_mode_bit_rate'
libavformat/codec2.c:75: error: undefined reference to 'avpriv_codec2_mode_frame_size'
libavformat/codec2.c:76: error: undefined reference to 'avpriv_codec2_mode_block_align'
libavformat/spdifdec.c:63: error: undefined reference to 'av_adts_header_parse'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
这个错误除了是编译静态库有问题,还有一个很奇葩的问题就是链接静态库的顺序问题。。。
就是libavformat.a要放在libavcodec.a之前。。。这样才能编译通过!!!
顺序很重要!顺序很重要!顺序很重要!重要的事情说3遍!!!