LIBRARY_PATH和LD_LIBRAY_PATH的区别和用法

LIBRARY_PATH和LD_LIBRAY_PATH是Linux 系统下的两个环境变量。两者的区别是:

LIBRAY_PATH用于在程序编译期间告诉链接器ld查找动态链接库时动态库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下:(其中LIBDIR1和LIBDIR2是两个库目录)

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH

LD_LIBRARY_PATH用于在程序加载时告诉动态链接器ld-linux-x86-64.so.2(64位CenOS7.8下的动态链接器是软链/usr/lib64/ld-linux-x86-64.so.2指向的ld-2.17.so)

 去指定的除系统默认搜索之外的其它路径下去寻找共享库。注意,LD_LIBRRY_PATH指定的路径会在系统默认的搜索路径之前查找。也就是说对于动态链接器而言,环境变量LD_LIBRARY_PATH指定的路径优先级要高于系统默认的动态库的查找路径。其设置方法如下:

export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH

区别与使用:

开发时,使用LIBRARY_PATH,以便于gcc能够找到编译时程序的依赖库。

发布时,使用LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库

 

 


版权声明:本文为yushuqiang162原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。