当前位置: 首页 > 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.mrgr.cn/news/68272.html

相关文章:

  • 如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
  • 【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
  • MySQL_聚合函数分组查询
  • Java 集合框架
  • 从零开始学python 6(持续更新中ing)
  • Android Intent 跳转常见系统设置
  • 【go从零单排】接口(interface)和多态(Polymorphism)
  • 必须安装的 IDEA 插件,强烈推荐【安装及教程】
  • selenium大量并发连接驱动超时
  • synchronized锁的八种情况
  • uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用
  • 数据挖掘实战-基于SARIMA时间序列模型预测Netflix股票未来趋势
  • 虚拟化数据恢复—XenServer虚拟机中SQL Server数据库数据恢复案例
  • 常用滤波算法(十一)-卡尔曼滤波
  • 【数据结构】哈希/散列表
  • 制造业数据架构设计顶层规划方案
  • fs 中的 rmSync 中的参数配置
  • JDBC入门
  • 前端 Canvas 绘画 总结
  • Hive简介 | 体系结构
  • 【AIGC探索】AI实现PPT生产全流程
  • unplugin-auto-import 库作用
  • Excel和微软小冰的结合应用
  • (62)使用RLS自适应滤波器进行系统辨识的MATLAB仿真
  • 220亿巨资注入,农业强国梦想加速启航!
  • 小张求职记六