linux 共享库搜索路径

linux

2016-04-02 20:02 PM

linux 中, 在执行一个可执行文件时,搜索动态库路径一共有 5 种,有优先级,会从上到下依次进行搜索。当执行一个程序上发现报错 No such file or directory 可以由此顺序来查错。

  • 在 ELF 文件的动态段 DT_RPATH 所指定的路径,可以在编译本文件时通过 “-Wl,rpath” 来指定
  1. gcc -Wl,-rpath,/usr/local/lib,-rpath,/home/zzz/opensource/lib test.c
  • 环境变量 LD_LIBRARY_PATH
  • /etc/ld.so.cache 中缓存的路径,可以通过修改配置文件 / etc/ld.so.conf 并执行 ldconf 命令来修改
  • 默认路径 /lib
  • 默认路径 /usr/lib

发表于 2016-04-02 20:02 PM,最后更新于 2018-12-05 19:24:36 PM。

本文使用 署名 - 非商业性使用 - 相同方式共享 4.0 国际 协议


评论加载中...

首页