在 Ubuntu 中,类库相关的环境变量主要用于指定编译器和运行时链接器查找库文件的位置,以下是常见的类库环境变量及其设置方法:
常见类库环境变量
-
LD_LIBRARY_PATH
-
用途:指定动态链接器搜索共享库(
.so
文件)时的额外目录。 -
使用方法:在终端中设置此环境变量来添加自定义库路径。例如:
export LD_LIBRARY_PATH=/path/to/your/libs:$LD_LIBRARY_PATH
LIBRARY_PATH
-
用途:指定编译器在链接时搜索库文件的目录。这个变量通常在使用
gcc
或g++
编译程序时生效。 -
使用方法:
export LIBRARY_PATH=/path/to/your/libs:$LIBRARY_PATH
-
-
LD_RUN_PATH
-
用途:类似于
LD_LIBRARY_PATH
,但搜索顺序略有不同。LD_RUN_PATH
中的目录会在系统默认路径之后搜索,而LD_LIBRARY_PATH
中的目录会在系统默认路径之前搜索。 -
使用方法:
export LD_RUN_PATH=/path/to/your/libs:$LD_RUN_PATH
-
-
PKG_CONFIG_PATH
-
用途:
pkg-config
工具用于帮助编译器定位库文件及其头文件。PKG_CONFIG_PATH
指定pkg-config
搜索.pc
文件的目录。 -
使用方法:
export PKG_CONFIG_PATH=/path/to/your/pkgconfig:$PKG_CONFIG_PATH
-
设置环境变量的方法
-
临时设置
-
直接在终端中执行
export
命令设置环境变量。例如:export LD_LIBRARY_PATH=/path/to/your/libs:$LD_LIBRARY_PATH
-
生效时间:立即生效,但仅对当前终端会话有效。
-
-
永久设置(对用户或系统全局有效)
-
用户级环境变量:
-
修改用户主目录下的
~/.bashrc
文件。在文件末尾添加需要设置的环境变量,例如:export LD_LIBRARY_PATH=/path/to/your/libs:$LD_LIBRARY_PATH
-
保存文件后,执行以下命令使更改生效:
source ~/.bashrc
系统级环境变量:
-
编辑
/etc/environment
文件来设置全局环境变量。这个文件会在系统启动时被读取。 -
打开终端并输入以下命令:
sudo nano /etc/environment
-
在文件中添加或修改环境变量,例如:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/path/to/your/libs" LD_LIBRARY_PATH="/path/to/your/libs:$LD_LIBRARY_PATH"
-
保存并退出编辑器(在
nano
中按Ctrl+X
,然后按Y
确认保存,最后按Enter
)。 -
重启系统或重新登录以使更改生效。
-
-
注意事项
- 环境变量的继承:环境变量可以被子进程继承,但本地变量(未使用
export
命令设置的变量)不会被子进程继承。 - 避免覆盖原有路径:在设置
PATH
、LD_LIBRARY_PATH
等变量时,应使用export PATH=$PATH:/new/path
的形式,以保留原有的路径。 - 安全性:在设置系统级环境变量时,应谨慎操作,避免修改或删除系统关键路径。