我使用此脚本为iOS构建FFmpeg: https://github.com/kewlbear/FFmpeg-iOS-build-script
我为所有架构构建,然后我再次为arm64构建(作为我想要的拱门),我甚至使用其他构建脚本来构建适用于iOS的FFmpeg。但是,我一直遇到同样的问题:
Undefined symbols for architecture arm64:
"_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)
我试过
请注意,所有链接器错误都来自同一个静态库(libavcodec.a)。这让我相信我错过了链接器专门针对这些符号所需的其他库。我添加了为FFmpeg构建提到的所有库 - 请参见下图:
感谢任何帮助。谢谢!
答案 0 :(得分:6)
成功构建并摆脱显示的链接器错误所需的框架是VideoToolbox.framework
答案 1 :(得分:2)
我通过在构建阶段VideoToolbox.framework
中的链接库中添加VideoToolbox.framework解决了这个问题