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 ~/.bashrc
或 source ~/.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 所依赖的动态函数库