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,以便程序加载运行时能够自动找到需要的动态链接库。

时间: 2024-09-29 22:36:03

LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别的相关文章

Linux Shell脚本系列教程(四):使用函数添加环境变量

  这篇文章主要介绍了Linux Shell脚本系列教程(四):使用函数添加环境变量,本文对环境变量的一知识作了介绍,并给出普通添加环境变量和使用函数添加环境变量的方法,需要的朋友可以参考下 一.简介 环境变量通常用于存储路径列表,这些路径用于搜索可执行文件.库文件等.例如:$PATH.$LD_LIBRARY_PATH,它们通常看起来像这样: 代码如下: PATH=/usr/bin;bin LD_LIBRARY_PATH=/usr/lib;lib 这意味着只要shell需要运行二进制可执行文件时

Linux Shell脚本系列教程(四):使用函数添加环境变量_linux shell

一.简介 环境变量通常用于存储路径列表,这些路径用于搜索可执行文件.库文件等.例如:$PATH.$LD_LIBRARY_PATH,它们通常看起来像这样: 复制代码 代码如下: PATH=/usr/bin;bin LD_LIBRARY_PATH=/usr/lib;lib 这意味着只要shell需要运行二进制可执行文件时,它会首先查找/usr/bin,然后查找/bin.在ubuntu14.04中,PATH和LD_LIBRARY_PATH存储的路径如下所示: 复制代码 代码如下: PATH=/usr/

linux环境变量设置方法总结 PATH、LD_LIBRARY_PATH

PATH: 可执行程序的查找路径 查看当前环境变量: echo $PATH 设置: 方法一:export PATH=PATH:/XXX 但是退出当前终端后就失效 方法二:修改 ~/.bashrc 或 ~/.bash_profile或系统级别的/etc/profile 1. 在其中添加例如export PATH=/opt/ActivePython/bin:$PATH 2. source .bashrc (Source命令也称为"点命令",也就是一个点符号(.). source命令通常用于

【Linux】Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别【转】

转自:http://blog.csdn.net/qiao1245/article/details/44650929 ------------------------------------------------------------------------------------------------------------------------------------------------ ===============================================

Linux下设置环境变量各配置文件的区别

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

<转:http://www.cnblogs.com/image-eye/archive/2011/08/20/2147133.html> 对所有用户有效在/etc/profile增加以下内容.只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 command not found) #在PATH中找到可执行文件程序的路径.export PATH =$PATH:$HOME/bin #gcc找到头文件的路径C_INC

Linux(Ubuntu)下设置golang环境变量

1).源代码安装go语言 Go的工具链采用C语言编写,要构建它,你需要安装一个C编译器,本例采用gcc工具; 进入linux 终端,输入命令行 sudo apt-get install build-essential Go使用Mercurial进行版本管理,首先你必须安装了Mercurial,对于 Ubuntu/Debian 系统先安装easy_install; sudo apt-get install mercurial 出现Processing triggers for python-sup

jdk安装后为什么要配置Path环境变量

  我们知道运行java程序需要进行两个步骤   第一步 编译,将源文件编译成字节码,对应的是javac命令 第二步 解释,解释执行平台无关的字节码程序,对应的是java命令   发现问题 安装完jdk在cmd执行这两个命令的时候 会提示"不是内部或外部命令,也不是可运行程序或批处理文件"     问题原因 虽然计算机安装jdk并且jdk的安装路径下面包含了这两个命令 但是计算机不知道到哪里找这两个命令. Windows操作系统根据path环境变量来查找命令 Path环境的值是一系列路

Perl CGI环境变量列表

Perl CGI 环境变量会因为服务器的不同而有所区别.所以本内容不一定和你的WEB 服务器相完全符合. 以下的内容以字母排序: 1. AUTH_TYPE 如果服务器支持基本的认证并且如果脚本被保护,此变量提供认证类型,此信息是特定于协议和服务器的. 2. CONTENT_LENGTH 如果通过 POST 方法的请求中包括数据,此变量的值为此请求中合法数据的长度. 3. CONTENT_TYPE 如果请求中包括数据,此变量指定数据类型的类别. 4. DOCUMENT_ROOT 网络提供的文件服务