linux 下 动态库搜索路径优先顺序

转载自http://www.360doc.com/content/17/0306/10/30427643_634369208.shtml

1.编译目标代码时指定的动态库搜索路径;

2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;

3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;//配置后要运行 ldconfig命令才能生效

4.默认的动态库搜索路径/lib;

5.默认的动态库搜索路径/usr/lib;

1是最优先的, 使用gcc -Wl, -rpath,./ ,-rpath,./test/lib  指定了两个搜索路径

-Wl, 表示后面的参数将传给 link 程序 ld

转载自https://blog.csdn.net/astrotycoon/article/details/9882227

LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。

LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。


猜你喜欢

转载自blog.csdn.net/mct123/article/details/79555901