LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
来源:互联网 发布:长沙知豆电动汽车租赁 编辑:程序博客网 时间:2024/05/02 00:47
LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:
LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。
LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。
区别与使用:
开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。
发布时,设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库。
GCC里的链接器的选项是 -rpath 和 -rpath-link,看了下 man ld,大致是这个意思:
GCC链接选项-L,-rpath-link和-rpath
-L: “链接”的时候,去找的目录,也就是所有的 -lFOO 选项里的库,都会先从 -L 指定的目录去找,然后是默认的地方。
-rpath_link (或者 -rpath-link):这个也是用于“链接”的时候的,例如你显示指定的需要 FOO.so,但是 FOO.so 本身是需要 BAR.so 的,后者你并没有指定,而是 FOO.so 引用到它,这个时候,会先从 -rpath-link 给的路径里找。
-rpath: “运行”的时候,去找的目录。运行的时候,要找 .so 文件,会从这个选项里指定的地方去找。对于交叉编译,只有配合 --sysroot 选项才能起作用。
也就是说,-rpath指定的路径会被记录在生成的可执行程序中,用于运行时。
-rpath-link 则只用于链接时。
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- 山寨腾讯“爱消除”游戏7日教程--DAY5
- 远程控制浇花系统--继电器模块
- 实现文件拖放的一种简洁方法
- ubuntu系统下adb连接小米2[无需装驱动]
- asp
- LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- 心有所思
- [HGE]-源码分析-8 ini
- USACO American Heritage 解题报告
- 左连接、右连接、交叉连接、全外连接
- 华东交通大学2013年ACM“双基”程序设计竞赛 解题报告
- 软件高手是怎么样炼成的?
- 用java源代码学数据结构<三>:ArrayList 详解
- 函数