网站改版的前端流程,专业做图表的网站,论坛网站开发开题报告,wordpress数据写入程序在linux下运行时#xff0c;一般从 /lib64 目录下加载依赖的库文件#xff0c;如xxx.so.
有时候#xff0c;系统里没有这些库#xff0c;也不想从系统目录下加载#xff0c;怎么办呢#xff1f;
看下面的调整过程。
使用的源代码是 ffmpeg-6.1.tar.xz
解压后一般从 /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.htmlhttps://www.technovelty.org/linux/exploring-origin.html