编译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 \
	...
相关推荐
mortimer20 小时前
FFmpeg 音画同步实践记录:从切片、变速到拼接,彻底搞定时间轴
ffmpeg
给大佬递杯卡布奇诺21 小时前
FFmpeg 基本API avcodec_send_packet函数内部调用流程分析
c++·ffmpeg·音视频
酌量1 天前
从 ROS 订阅视频话题到本地可视化与 RTMP 推流全流程实战
经验分享·笔记·ffmpeg·音视频·ros
给大佬递杯卡布奇诺1 天前
FFmpeg 基本API av_seek_frame函数内部调用流程分析
c++·ffmpeg·音视频
碎像1 天前
ffmpeg下载和实战获取音视频时长
ffmpeg
哲学七1 天前
Springboot3.5.x版本引入javaCv相关库版本问题以及精简引入包
java·ffmpeg
给大佬递杯卡布奇诺1 天前
FFmpeg 基本API avcodec_open2函数内部调用流程分析
c++·ffmpeg·音视频
给大佬递杯卡布奇诺2 天前
FFmpeg 基本API avformat_alloc_context 函数内部调用流程分析
c++·ffmpeg·音视频
aqi002 天前
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
ffmpeg·音视频·直播·流媒体
筏.k2 天前
FFmpeg 核心 API 系列:音频重采样 SwrContext 完全指南(新API版本)
ffmpeg·音视频