unix shell中 LIBPATH 是什么环境变量?SHLIB_PATH又是什么环境变量
时间: 2024-09-24 19:17:08 浏览: 69
在Unix shell中,`LIBPATH`和`SHLIB_PATH`都是与动态链接库相关的环境变量。它们用于指示程序查找共享库(也称为动态链接库或DLL)的位置。当一个程序试图加载一个它找不到的库时,系统会搜索这些路径以找到所需的库。
- `LIBPATH`: 这个变量主要在IBM平台上使用,它定义了一个列表,告诉运行时系统在哪些目录下寻找`.lib`或`.a`类型的静态或动态链接库。在某些情况下,如果`LD_LIBRARY_PATH`不存在,`LIBPATH`会被考虑。
- `SHLIB_PATH` 或者在一些系统上被称为 `LD_LIBRARY_PATH`: 这个更通用的变量,用于Linux和其他类Unix系统,指定了动态链接库(`.so` 文件)的搜索路径。当执行`ldd`命令或者程序尝试通过`dlopen()`函数加载动态库时,`LD_LIBRARY_PATH`会被用来扩展默认的库搜索路径。
要永久修改这些环境变量,通常需要编辑用户的`~/.bashrc`或`~/.bash_profile`文件,并添加相应的路径设置,如下所示:
```bash
# 添加到 ~/.bashrc 或 ~/.bash_profile
export LIBPATH=/path/to/your/libdir1:/path/to/your/libdir2
export SHLIB_PATH=/path/to/your/dynlibdir1:/path/to/your/dynlibdir2
```
然后,运行`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。
阅读全文