lib in Linux
/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的- 通常
gcc中链接的时候,如-lz -lm都会寻找/lib和/usr/lib,还会搜索-L/...以及LIBRARY_PATH变量的目录, - linux可执行文件运行时,如果包含共享库,会先后搜索:文件的
DT_RPATH段 -> 环境变量LD_LIBRARY_PATH->/etc/ld.so.cache文件列表 ->/lib和/usr/lib目录找到库并装入内存 - 可通过将其他目录加入
/etc/ld.so.cache,方法:/etc/ld.so.conf文件内容为include /etc/ld.so.conf.d/*.conf- 只需在
/etc/ld.so.conf.d/添加自定义conf文件即可 - 运行
ldconfig重建/etc/ld.so.cache