编译ffmpeg动态库时设置RPATH为$ORIGIN

原本,我这样编译:

bash 复制代码
./configure \
	--enable-xxx \
	--disable-yyy \
	...

为了设置 RPATH, 尝试了在 configure 后面设置,如下几种都无效:

复制代码
--extra-ldsoflags="-Wl,-rpath,$ORIGIN"
没有 RPATH

--extra-ldsoflags="-Wl,-rpath,'$ORIGIN'"
没有 RPATH

--extra-ldsoflags="-Wl,-rpath,\"$ORIGIN\""
没有 RPATH

--extra-ldsoflags="-Wl,-rpath,/mnt"
RPATH: /mnt

--extra-ldsoflags="-Wl,-rpath,\$ORIGIN"
没有 RPATH

--extra-ldsoflags="-Wl,-rpath,'\$ORIGIN'"
没有 RPATH

--extra-ldsoflags="-Wl,-rpath,\\\$ORIGIN"
RPATH: RIGIN

--extra-ldsoflags="-Wl,-rpath,'\\$ORIGIN'"
RPATH: \

--extra-ldsoflags="-Wl,-rpath,'$$ORIGIN'"
RPATH: 258002ORIGIN

--extra-ldsoflags="-Wl,-rpath,'\$$ORIGIN'"
Syntax error: Unterminated quoted string

原本已经在谷歌搜索, 找到了 Bundling FFMPEG using CMAKE and RPATH 这篇, 但误以为是标题说的基于 cmake 的构建; 其实仍然是基于 makefile 的构建, 文章说的很到位。

最终有效的设定,是设置 LDSOFLAGS=-Wl,-rpath,\''$$$$ORIGIN'\' 之后,再 configure:

bash 复制代码
export LDSOFLAGS=-Wl,-rpath,\''$$$$ORIGIN'\'
./configure \
	--enable-xxx \
	--disable-yyy \
	...
相关推荐
hjjdebug2 天前
ffplay6 播放器关键技术点分析 1/2
c++·ffmpeg·音视频
泰勒朗斯2 天前
ffmpeg 中config 文件一些理解
windows·microsoft·ffmpeg
泰勒朗斯2 天前
ffmpeg下编译tsan
ffmpeg
xmode4 天前
centos7.9安装ffmpeg6.1和NASM、Yasm、x264、x265、fdk-aac、lame、opus解码器
ffmpeg·centos
王江奎4 天前
FFmpeg 升级指北
ffmpeg
雨夜和阳晨4 天前
FFmpeg录制屏幕及声音
ffmpeg
吴声子夜歌4 天前
FFmpeg——基础知识及FFmpeg框架
ffmpeg
aqi005 天前
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
android·ffmpeg·音视频·流媒体
不太会编程的IT男6 天前
在 Jetson Orin 开发套件上使用 Hardware Encoder / Decoder 构建 FFmpeg
ffmpeg·视频编解码·h.264
m0_687399846 天前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg