0x00 背景

在linux下安装一些程序,或者在做pwnable的时候经常出现没有找到动态库的情况。

0x01 如何链接动态库

链接动态库通常有五中方法:

  1. 链接时使用静态库,gcc编译时添加参数
  2. 使用LD_LIBRARY_PATH指定搜索路径, export LD_LIBRARY_PATH=`pwd`
  3. 编译时使用-rpath指定动态库的搜索路径
  4. 修改/etc/ld.so.conf,添加动态库搜索路径
  5. 复制动态库到系统默认的路径下,如/lib/usr/lib

0x02 动态库搜索路径的优先级

动态库搜索路径优先级由高到低排列情况如下:

  1. 编译时指定动态库搜索路径
  2. 环境变量LD_LIBRARY_PATH中的路径
  3. 配置文件/etc/ld/so.conf中的路径
  4. 系统默认的路径lib

0x03 Refer

http://blog.csdn.net/liuxing_lanyue/article/details/20067423
http://blog.csdn.net/onlyou930/article/details/6565906
http://blog.chinaunix.net/uid-23069658-id-4028681.html