在从ffmpeg_decoding_loop添加了一些对ffmpeg的调用之后,我在Windows上编译时(无论是直接在Windows上编译,还是从linux交叉编译时)都有错误。
我不明白的是,它在linux/macos上工作时没有问题。
我有多个对ffmpeg代码的调用,但是让我们把它归结为一个有代表性的例子。
我称之为:
const AVFilter *buffer_src = avfilter_get_by_name("buffer");在linux/macos上:没有问题。
在窗户上:
lld-link: error: undefined symbol: avfilter_get_by_name
>>> referenced by .\..\..\media\ffmpeg\ffmpeg_decoding_loop.cc:111
>>> obj/media/ffmpeg/ffmpeg/ffmpeg_decoding_loop.obj:(public: void __cdecl media::FFmpegDecodingLoop::InitFilterGraph(struct AVFrame *))
>>> referenced by .\..\..\media\ffmpeg\ffmpeg_decoding_loop.cc:112
>>> obj/media/ffmpeg/ffmpeg/ffmpeg_decoding_loop.obj:(public: void __cdecl media::FFmpegDecodingLoop::InitFilterGraph(struct AVFrame *))是否有其他配置要在windows上进行?
我使用VisualStudio2019,Windows10.0.19041.0SDK,llvm10.0.0。
发布于 2020-12-01 21:23:15
对于那些可能会遇到这种情况的人:如果在您的铬代码中使用来自第三方/ffmpeg的函数,请确保这些函数是在third_party/ffmpeg/chromium/ffmpeg.sigs中指定的。
它只在windows编译时使用(这就是为什么我的mac/linux在成功的地方构建的原因)。
https://stackoverflow.com/questions/64893059
复制相似问题