编译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 \
	...
相关推荐
活捉一个坏小孩2 天前
Nvidia FFmpeg安装说明
ffmpeg
WF_YL2 天前
如何删除 Oracle 过期 key / 数据,删除目的的key
ffmpeg
浩瀚之水_csdn2 天前
avcodec_find_decoder函数详解
ffmpeg
浩瀚之水_csdn5 天前
avcodec_parameters_copy详解
linux·人工智能·ffmpeg
不吃鱼的猫7489 天前
【ffplay 源码解析系列】02-核心数据结构详解
c++·ffmpeg·音视频
不吃鱼的猫7489 天前
【ffplay 源码解析系列】01-开篇-ffplay整体架构与启动流程
c++·架构·ffmpeg·音视频
REDcker11 天前
FFmpeg开发者快速入门
ffmpeg
不吃鱼的猫74811 天前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频
REDcker12 天前
FFmpeg完整文档
linux·服务器·c++·ffmpeg·音视频·c·后端开发
硬汉嵌入式12 天前
QEMU & FFmpeg作者Fabrice Bellard推出MicroQuickJS,一款面向嵌入式系统JavaScript引擎,仅需10K RAM
javascript·ffmpeg·microquickjs