如何让ffmpeg运行时从当前目录加载库,而不是从/lib64

程序在linux下运行时,一般从 /lib64 目录下加载依赖的库文件,如xxx.so.

有时候,系统里没有这些库,也不想从系统目录下加载,怎么办呢?

看下面的调整过程。

使用的源代码是 ffmpeg-6.1.tar.xz

解压后,进入到ffmpeg-6.1

bash 复制代码
./configure  --enable-libmp3lame  --enable-rpath  --prefix=/usr/local/ffmpeg

注意:这里的--enable-rpath 非常重要,只有加上这个选项,后面才能指定加载库的路径。

这里,也不需要 --libdir='$ORIGIN' 这个参数。

执行完上面的命令,会生成:ffmpeg-6.1/ffbuild/config.mak 文件,

主要就是修改这个文件了。

把 LDEXEFLAGS= -Wl,-rpath,/usr/local/ffmpeg/lib 改成:LDEXEFLAGS= -Wl,-rpath,'$$ORIGIN'

LDSOFLAGS= -Wl,-rpath,/usr/local/ffmpeg/lib 改成:LDSOFLAGS= -Wl,-rpath,'$$ORIGIN'

注意:这里ORIGIN 要加单引号,且前面是2个$符号

  • 使用 $ORIGIN : 当你设置为 $ORIGIN 时,表示你希望库路径相对于可执行文件的位置。这在部署时非常有用,因为它允许可执行文件和库文件在同一目录结构中移动,而无需修改路径。

保存,然后make 即可。

最后,生成的ffmpeg 或者ffprobe 就可以从自己当前所在的目录查找库文件了,

比如libxcb.so.1 等。

相关推荐
源之缘-OFD先行者9 天前
破界渲染:WinForm下的FFmpeg+Vortice极速推流引擎
ffmpeg·winform·推流·h264
源来猿往9 天前
记ffmpeg-8.1.1 之Android库编译(window)
android·ffmpeg
Deitymoon9 天前
RV1126+FFMPEG多路码流监控项目
ffmpeg·音视频
芝麻别开门9 天前
GStreamer DASH Demux 知识文档
ffmpeg·dash
ltlovezh10 天前
ROI 编码学习指南:Android 与 FFmpeg 的真实实现边界
android·ffmpeg·音视频开发
m0_7471245311 天前
多媒体框架 FFmpeg 和 GStreamer
ffmpeg·gstreamer
小鹿研究点东西11 天前
AI直播系统怎么搭?
人工智能·ffmpeg·自动化·音视频·语音识别
Nightwish511 天前
Oracle 数据库巡检检查清单
数据库·oracle·ffmpeg
luoyayun36112 天前
Qt/QML + FFmpeg 实现多音频文件顺序拼接功能
qt·ffmpeg·音频拼接
wbcuc12 天前
ffmpeg工具把m4s合并为mp4 powershell脚本
ffmpeg·m4s