【问题标题】:Unclear compile error for mpd with ffmpeg on Mac arm64 architecture (M1)Mac arm64 架构 (M1) 上使用 ffmpeg 的 mpd 编译错误不清楚
【发布时间】:2022-08-24 20:20:40
【问题描述】:

我试图通过 brew 编译(和安装)mpd brew reinstall --build-from-source mpd 但 ffmpeg 似乎与 arm64 架构有一些错误,因为错误状态:

Undefined symbols for architecture arm64:
  \"av_free(void*)\", referenced from:
      AvioStream::~AvioStream() in libdecoder_plugins.a(FfmpegIo.cxx.o)
  \"av_malloc(unsigned long)\", referenced from:
      AvioStream::Open() in libdecoder_plugins.a(FfmpegIo.cxx.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我重新安装了 ffmpeg(甚至它是从源代码构建的)以确保它构建了 arm64 版本。谁能帮帮我,可能是什么问题?

  • You should check this 看看那里有什么影响你的。除此之外,您的链接器错误表明您在链接中are missing a required file or library。 AFAICT 它可能是“libav”,但我不熟悉 ffmpeg。
  • 不幸的是,我无法根据您的建议解决问题,但非常感谢您的参考!

标签: c++ macos ffmpeg arm64 mpd


【解决方案1】:

通过更新到 0.28.1 的依赖项,我可以成功编译它。根据后续版本 0.29 的更改日志,已为 macOS 修复了构建错误: https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.9/NEWS

我认为这已通过提交https://github.com/MusicPlayerDaemon/MPD/commit/59792cb0b801854ee41be72d33db9542735df754 以及 ffmpeg 依赖项到 5.1 版的相关更新得到修复。

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2022-01-25
    • 2021-11-28
    • 2021-03-25
    • 1970-01-01
    • 2022-06-27
    相关资源
    最近更新 更多