目录
次序
根据https://www.jianshu.com/p/2f4d86fb48a5的说法,linux下加载so文件的次序如下:
先搜索环境变量LD_PRELOAD定义的路径,再搜索环境变量LD_LIBRARY_PATH定义的路径,再搜索/etc/ld.so.conf文件内的路径,然后/lib,最后/usr/lib
环境变量
假如你想通过修改环境变量的方式来增加so文件索引路径,你应该修改~/.bashrc或者/etc/profile,并通过source命令使之生效。具体参见【linux】程序找不到动态库.so的解决办法|查看.so动态库信息|.so动态库加载顺序_51CTO博客_linux运行so动态库
ldconfig
你可以把so文件添加到/lib,/usr/lib路径下,或者将文件路径写入/etc/ld.so.conf中.但是不论使用哪种方法,添加完毕后都要执行ldconfig命令来使配置生效
例子
我已经安装了libnetsnmp库,但是操作系统尚不能找到其so路径。所以命令snmpget指令无法执行。
这里我修改ld.so.conf文件,增加so文件的路径,并执行ldconfig指令。随后snmpget指令正常运行。