ffmpeg xcode 中的使用

导入项目,有静态包经验的就就不用看了,这个对于我这个半路出家的和尚还是处理了老半天才解决.
.a文件直接导入 .h文件要导入文件夹结构 配置header search 环境变量 使用的时候导入文件 结构:#import "文件夹/文件.h"
首次编译.
复制代码
Undefined symbols for architecture armv7:
"deflateInit2", referenced from:
_encode_frame in libavcodec.a(pngenc.o)
"_crc32", referenced from:
_encode_frame in libavcodec.a(pngenc.o)
"_deflateReset", referenced from:
_encode_frame in libavcodec.a(lclenc.o)
_encode_frame in libavcodec.a(zmbvenc.o)
"_compress", referenced from:
_encode_strip in libavcodec.a(tiffenc.o)
"_deflateBound", referenced from:
_flashsv_decode_frame in libavcodec.a(flashsv.o)
_encode_frame in libavcodec.a(pngenc.o)
_encode_frame in libavcodec.a(lclenc.o)
"_inflateSync", referenced from:
_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)
"_iconv_open", referenced from:
_avcodec_open2 in libavcodec.a(utils.o)
_avcodec_decode_subtitle2 in libavcodec.a(utils.o)
"_BZ2_bzDecompress", referenced from:
_matroska_decode_buffer in libavformat.a(matroskadec.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)
...
"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)
...
"_iconv", referenced from:
_avcodec_decode_subtitle2 in libavcodec.a(utils.o)
"_BZ2_bzDecompressEnd", referenced from:
_matroska_decode_buffer in libavformat.a(matroskadec.o)
"inflateInit2", referenced from:
_http_read_header in libavformat.a(http.o)
"_deflateEnd", referenced from:
_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_frame in libavcodec.a(pngenc.o)
_encode_end in libavcodec.a(lclenc.o)
_encode_init in libavcodec.a(zmbvenc.o)
...
"_BZ2_bzDecompressInit", referenced from:
_matroska_decode_buffer in libavformat.a(matroskadec.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)
"_zlibCompileFlags", referenced from:
_http_read_header in libavformat.a(http.o)
"_compress2", referenced from:
_flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
_flashsv_encode_frame in libavcodec.a(flashsvenc.o)
"_deflate", referenced from:
_flashsv_decode_frame in libavcodec.a(flashsv.o)
_flashsv2_encode_frame in libavcodec.a(flashsv2enc.o)
_encode_frame in libavcodec.a(pngenc.o)
_encode_frame in libavcodec.a(lclenc.o)
_encode_frame in libavcodec.a(zmbvenc.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)
...
"_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)
...
"_iconv_close", referenced from:
_avcodec_open2 in libavcodec.a(utils.o)
_avcodec_decode_subtitle2 in libavcodec.a(utils.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
复制代码
导入 libz.1.2.5.dylib ,再次编译

复制代码
Undefined symbols for architecture armv7:
"_BZ2_bzDecompressInit", referenced from:
_matroska_decode_buffer in libavformat.a(matroskadec.o)
"_iconv", referenced from:
_avcodec_decode_subtitle2 in libavcodec.a(utils.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_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)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
复制代码
导入 libbz2.1.0.dylib ,再次编译

复制代码
Undefined symbols for architecture armv7:
"_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)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
复制代码
导入 libiconv.2.4.0.dylib 编译通过 3.0 后不通过

复制代码
Undefined symbols for architecture x86_64:
"_CMBlockBufferCreateWithMemoryBlock", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
"_CMSampleBufferCreate", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
"_CMVideoFormatDescriptionCreate", referenced from:
_av_videotoolbox_default_init2 in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionCreate", referenced from:
_av_videotoolbox_default_init2 in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionDecodeFrame", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionInvalidate", referenced from:
_av_videotoolbox_default_free in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionWaitForAsynchronousFrames", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
"_kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms", referenced from:
_av_videotoolbox_default_init2 in libavcodec.a(videotoolbox.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
复制代码
导入 CoreMedia.framework 编译

复制代码
Undefined symbols for architecture x86_64:
"_VTDecompressionSessionCreate", referenced from:
_av_videotoolbox_default_init2 in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionDecodeFrame", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionInvalidate", referenced from:
_av_videotoolbox_default_free in libavcodec.a(videotoolbox.o)
"_VTDecompressionSessionWaitForAsynchronousFrames", referenced from:
_videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
ld: symbol(s) not found for architecture x86_64
复制代码
导入 VideoToolbox.framework 编译通过

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,831评论 0 3
  • 亲爱的老朋友: 你好! 好久不见,你还好吗? 我们还未遇见,我对你满怀期待。 害怕,也有一些。害怕我们羞于见面,害...
    药不方阅读 432评论 7 3
  • 每个时代的人性,都有很大的不同,并且,一个人说出的人性或道理,另一个人未必赞同。因为,大多数时候,人就是这样,非要...
    实践再实践阅读 462评论 3 1
  • 接龙客栈——悬赏任务 【09】年味 过年,怎能少得了荠菜陷的馄饨、荠菜陷的饺子?于是,我提着袋子,到野外去挖荠菜。...
    阳光Sunflower阅读 379评论 8 9