so动态库的搜索路径搜索的先后顺序
- 编译目标代码时指定的动态库搜索路径
- 环境变量LD_LIBRARY_PATH指定的动态库搜索路径
- 配置文件/etc/ld.so.conf中指定的动态库搜索路径
- 默认的动态库搜索路径/lib
- 默认的动态库搜索路径/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 ./"