ldconfig

ldconfig 与 /etc/ld.so.conf

  • ldconfig 默认查找的路径包括 lib, /usr/lib, /etc/ld.so.conf 列举的目录和 LD_LIBRARY_PATH
  • 如何将动态函数库加载到高速缓存
    • /etc/ld.so.conf 写入想要读入告诉缓存中的动态函数库所在的目录
    • 利用 ldconfig 可执行文件将 /etc/ld.so.conf 的数据读入缓存
    • 同时将数据记录一份在 /etc/ld.so.cache 文件

添加动态库路径

  • 查找库路径 sudo find / -iname *library_name*.so*
  • 方法 1
    • 追加路径到 LD_LIBRARY_PATH
    • 当前终端生效: 在终端执行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library
    • ~/.bashrc~/.bash_profile 中追加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library
    • 执行 source ~/.bashrcsource ~/.bash_profile
    • 执行 sudo ldconfig 更新缓存
  • 方法 2
    • /etc/ld.so.conf.d/ 中创建一个新文件 your_lib.conf
    • /etc/ld.so.conf.d/your_lib.conf 中写入想要添加的路径
    • 执行 sudo ldconfig 更新缓存
  • 方法 3
    • 将库移动到 /usr/lib
    • 执行 sudo ldconfig 更新缓存

ldd

  • ldd filename 可以显示可执行文件 filename 所依赖的动态函数库

相关