无法在 Ubuntu 20.04 上编译 FFmpeg

Sau*_*ari 11 compiling ffmpeg pkg-config gnutls 20.04

我正在关注FFmpeg 的这个编译指南。编译所有必需的依赖项后,我在最后一节中收到以下错误。

ERROR: gnutls not found using pkg-config
Run Code Online (Sandbox Code Playgroud)

当我运行如下配置命令时会发生此错误:

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-gnutls \
  --enable-libaom \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
Run Code Online (Sandbox Code Playgroud)

我正在全新安装的 Ubuntu 20.04 上编译 FFmpeg。

Sau*_*ari 23

ffbuild目录(路径:)中ffmpeg_sources/ffmpeg/ffbuild/,检查config.log提供了有关错误消息的更多信息:

/usr/bin/ld: cannot find -lunistring
collect2: error: ld returned 1 exit status
ERROR: gnutls not found using pkg-config
Run Code Online (Sandbox Code Playgroud)

在 ffmpeg 的IRC 频道的帮助下,安装libunistring-dev包解决了这个问题。

sudo apt-get install libunistring-dev
Run Code Online (Sandbox Code Playgroud)

  • 几乎没有意义,因为通常不需要 libunistring-dev。选项`--pkg-config-flags="--static"` 是导致这种情况的原因..,不清楚该选项的值,请看这里没有。 (2认同)
  • 我知道它在指南中。配置选项是 5 年前添加的,没有评论 (https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu?action=diff&version=107)。现在它需要安装一个不在指南中的 dep。至于选项,它在这个特定的 3 个二进制文件的构建/安装中没有任何作用。没有实际需要.. (2认同)