程序在Ubuntu下,有时需要引用共享库(*.so),Ubuntu是如何管理共享库的,以及怎在Ubuntu下怎么设置共享库文件:
在Ubuntu下,共享库的寻找和加载是由/lib/ld.so实现的,ld.so在标准路径/lib,/usr/lib中寻找应用程序用到的共享库。但是,dang需要的共享库在非标准路径,ld.so怎么找到它呢?
目前Ubuntu通用的做法是将非标准路径加入/etc/ld.so.conf,然后再运行ldconfig生成/etc/ld.so.cache。ld.so加载共享库时,会从ld.so.cache中查找。
传统上,还可以使用环境变量 -LD_LIBRAR_PATH来处理非标准路径的共享库,但尽量要避免使用。