LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别

Posted 邱明成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别相关的知识,希望对你有一定的参考价值。

LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:

LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH

LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):

export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH

举个例子,我们开发一个程序,经常会需要使用某个或某些动态链接库,为了保证程序的可移植性,可以先将这些编译好的动态链接库放在自己指定的目录下,然后按照上述方式将这些目录加入到LD_LIBRARY_PATH环境变量中,这样自己的程序就可以动态链接后加载库文件运行了。

区别与使用:

 

 

开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。

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

以上是关于LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别的主要内容,如果未能解决你的问题,请参考以下文章

LIBRARY_PATH和LD_LIBRARY_PATH

LD_LIBRARY_PATH 与 LIBRARY_PATH

Linux gcc链接动态库出错:LIBRARY_PATH和LD_LIBRARY_PATH的区别

LIBRARY_PATH是编译时候用的,LD_LIBRARY_PATH是程序运行是使用的

Linux中PATH LIBRARY_PATH LD_LIBRARY_PATH和ROS_PACKAGE_PATH

如何在配置中为安装在 Windows 机器上的 ImageMagick 库设置 library_path