0x00 背景
在linux下安装一些程序,或者在做pwnable的时候经常出现没有找到动态库的情况。
0x01 如何链接动态库
链接动态库通常有五中方法:
- 链接时使用静态库,gcc编译时添加参数
- 使用
LD_LIBRARY_PATH
指定搜索路径,export LD_LIBRARY_PATH=`pwd`
- 编译时使用
-rpath
指定动态库的搜索路径 - 修改
/etc/ld.so.conf
,添加动态库搜索路径 - 复制动态库到系统默认的路径下,如
/lib
,/usr/lib
0x02 动态库搜索路径的优先级
动态库搜索路径优先级由高到低排列情况如下:
- 编译时指定动态库搜索路径
- 环境变量
LD_LIBRARY_PATH
中的路径 - 配置文件
/etc/ld/so.conf
中的路径 - 系统默认的路径
lib
等