在linux上执行程序的时候,如果需要链接动态库,一般linux系统会搜索/lib 和 /usr/lib ,这是系统默认的搜索路径,那怎么将我们自己的动态库路径添加到默认搜索路径中呢。有如下几个方法
- 修改环境变量LD_LIBRARY_PATH,指名库路径
- 在/etc/ld.so.conf文件中添加库的搜索路径
方法一:修改LD_LIBRARY_PATH 环境变量
临时方法
export LD_LIBRARY_PATH=<your-lib-path>:$LD_LIBRARY_PATH
# 例如
export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
查看是否生效
echo $LD_LIBRARY_PATH
当前用户永久方式
修改~/.bashrc,在文件按末尾添加
export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
然后执行命令是修改生效
source ~/.bashrc
方法二: 修改/etc/ld.so.conf
在/etc/ld.so.conf文件末尾添加自己的库路径,这样就为所有用户生效
打开/etc/ld.so.conf文件,在末尾添加
/opt/lib
然后执行以下命令,使修改生效
sudo ldconfig
当然,更好的方法是在/etc/ld.so.conf.d目录下,放在该目录下的*.conf文件添加一个自己的conf文件
然后执行以下命令使修改生效
sudo ldconfig