C++ 动态库查找流程
RPATH: run-time search path
- 规定了可执行文件在寻找.so文件时的第一优先位置
搜索.so的优先级顺序
- RPATH: 写在elf文件中
- LD_LIBRARY_PATH: 环境变量
- RUNPATH: 写在elf文件中
- ldconfig的缓存: 配置 /etc/ld.conf* 可改变
- 默认的 /lib, /usr/lib
查看RPATH
- readelf -d xxx | grep 'R*PATH' 来查看
$ORIGIN标识符
- 代表elf文件自身所在的目录。可以利用$ORIGIN 设置RPATH。
浙公网安备 33010602011771号