linux系统so动态库的搜索路径

so动态库的搜索路径搜索的先后顺序

  1. 编译目标代码时指定的动态库搜索路径
  2. 环境变量LD_LIBRARY_PATH指定的动态库搜索路径
  3. 配置文件/etc/ld.so.conf中指定的动态库搜索路径
  4. 默认的动态库搜索路径/lib
  5. 默认的动态库搜索路径/usr/lib

gcc编译指定动态库搜索路径

-Wl,-rpath=<动态库所在路径> 

# 举例如下
gcc -O2 -Wno-write-strings -g -fPIC *.c -lauthlib -L./lib/amd64/ -Wl,-rpath,./lib/amd64 -o ./main
aarch64-linux-gnu-gcc -O2 -Wno-write-strings -g -fPIC *.c -lauthlib -L./lib -rpath=./ -o ./main-aarch64

golang指定动态库so的搜索路径

go build -ldflags="-r ./"
posted @ 2024-11-14 14:27  jiftle  阅读(15)  评论(0编辑  收藏  举报