欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux 动态链接库

程序员文章站 2022-05-13 09:49:58
...

可以看看这篇文章:linux 动态链接库的加载顺序

编译程序时查找 so 库顺序如下:

  1. gcc 编译时参数 -L 指定的路径

    gcc -o hello hello.c -L /usr/local/lib -lavcodec
    
  2. 环境变量 LIBRARY_PATH

    export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
    
  3. 系统默认库位置 /lib,/usr/lib

程序运行时查找 so 库顺序如下:

  1. gcc 编译时指定的运行时库路径 -Wl,-rpath

  2. 环境变量 LD_LIBRARY_PATH

    export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH
    
  3. ldconfig 缓存 /etc/ld.so.cache

    vim /etc/ld.so.conf.d/your.conf
    ldconfig
    
  4. 系统默认库位置 /lib,/usr/lib

相关标签: Ubuntu