编译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 \
	...
相关推荐
程序员老陆16 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
用户5181860056618 小时前
FFmpeg 剪辑:为什么 `-c copy` 往往做不到帧准确剪切
ffmpeg
福大大架构师每日一题19 小时前
mediamtx v1.19.3正式发布:认证安全、WebRTC跨域、MoQ稳定性、RTSP与HLS全面升级
安全·ffmpeg·webrtc
cpp_learner2 天前
FFmpeg 解复用全流程解析
ffmpeg
程序员老陆2 天前
FFmpeg时间基相关函数大杂烩
ffmpeg·时间基·timebase
程序员老陆3 天前
FFmpeg libswresample 模块的关键函数swr_convert 到底在干嘛?
ffmpeg·音视频·格式转换·音频重采样
海兰3 天前
ffmpeg-wasm 完整安装指南(Ubuntu 24.04)
ubuntu·ffmpeg·wasm
≮傷£≯√4 天前
QT配置FFmpeg
开发语言·qt·ffmpeg
Everbrilliant894 天前
Android FFmpeg 实战:从基础到播放器的完整技术解析
android·ffmpeg·ffmepg实战·音视频同步实现·ffmpegpractices·ffmpegpractice·opengl 视频渲染
苏灿烤鱼4 天前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg