当前位置: 首页 > news >正文

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

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

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

看下面的调整过程。

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

解压后,进入到ffmpeg-6.1

./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 等。

关于$ORIGIN,请看这里

technovelty.org/linux/exploring-origin.htmlicon-default.png?t=O83Ahttps://www.technovelty.org/linux/exploring-origin.html

http://www.lryc.cn/news/482523.html

相关文章:

  • Kafka-Controller选举
  • 必知的 Vue3 组件传值技巧:解锁组件交互新姿势
  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
  • 创新体验触手可及 紫光展锐携手影目科技推出AI眼镜开放平台
  • 115页PDF | 埃森哲_XX集团信息化能力成熟度评估及能力提升方案(限免下载)
  • NumPy,科学计算领域中的Python明星库!
  • Hadoop生态圈框架部署(六)- HBase完全分布式部署
  • python怎么解决中文注释
  • 【Unity】Game Framework框架学习使用
  • Linux(CentOS 7) yum一键安装mysql8
  • Kafka 快速入门(一)
  • 丹摩征文活动 | SD3+ComfyUI的图像部署实践
  • H.265流媒体播放器EasyPlayer.js网页web无插件播放器:如何优化加载速度
  • 【Linux】进程状态的优先级
  • react中的组件传参
  • HTML5:网页开发的新纪元
  • CKA认证 | Day2 K8s内部监控与日志
  • 电信网关配置管理系统 upload_channels.php 文件上传致RCE漏洞复现
  • ubuntu更改max_map_count
  • 《NPU、CPU、GPU 算力定义和计算方式》
  • 初级数据结构——顺序表
  • 游戏引擎学习第五天
  • 智能社区服务小程序+ssm
  • glide性能优化实战
  • Python 环境搭建和安装(保姆级教程)
  • Java并发编程(二):同步机制与多线程是否矛盾
  • golang分布式缓存项目 Day2 单机并发缓存
  • 一个百度、必应搜索引擎图片获取下载的工具包
  • 安全见闻(网络安全篇)
  • 手写一些方法