You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pkg-config无法找到源码编译的ffmpeg4.5库该如何解决?

问题根因说明

  1. 你之前执行的export命令仅对当前终端会话生效,打开新终端、切换用户或者重启后配置会失效,和你执行的ldconfig -v没有关联,ldconfig仅负责动态链接库的路径检索,不会修改pkg-config的配置。
  2. 你执行pkg-config --variable=pc_path pkg-config输出的是pkg-config的默认系统检索路径,不包含你手动配置的PKG_CONFIG_PATH自定义路径,属于正常现象。

解决方案

前置检查

首先确认你源码编译的ffmpeg 4.5已生成.pc配置文件,执行命令:

ls /home/xxx/ffmpeg_build/lib/pkgconfig | grep libavcodec.pc

如果无输出,说明编译ffmpeg时未开启pc文件生成,需要重新编译ffmpeg,编译参数加上--enable-pc-files,完成安装后再执行后续操作。


1. 临时生效(仅当前终端窗口可用)

直接执行命令将自定义路径前置到PKG_CONFIG_PATH:

export PKG_CONFIG_PATH=/home/xxx/ffmpeg_build/lib/pkgconfig:$PKG_CONFIG_PATH

执行完成后可通过以下命令验证是否生效:

# 查看ffmpeg关联库版本,输出应为4.5对应的版本号
pkg-config --modversion libavcodec
# 查看PKG_CONFIG_PATH配置,第一栏应为你的自定义路径
echo $PKG_CONFIG_PATH

2. 永久生效(对当前用户所有终端生效)

将环境变量写入shell配置文件持久化:

  • 如果你使用bash,执行nano ~/.bashrc打开配置文件;如果使用zsh,执行nano ~/.zshrc
  • 在文件末尾添加以下内容:
export PKG_CONFIG_PATH=/home/xxx/ffmpeg_build/lib/pkgconfig:$PKG_CONFIG_PATH
  • 保存退出后执行source ~/.bashrc(对应你使用的shell类型调整命令)让配置立即生效

特殊场景用法

如果仅单次编译需要调用自定义版本ffmpeg,可以直接在命令前指定PKG_CONFIG_PATH参数,无需修改全局配置:

PKG_CONFIG_PATH=/home/xxx/ffmpeg_build/lib/pkgconfig:$PKG_CONFIG_PATH pkg-config --libs --cflags ffmpeg

内容的提问来源于stack exchange,提问作者Jeoker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:12:04