新增LD链接库

当自己临时编译的代码libraries路径不在系统路径下,执行程序会找不到动态链接库。可通过修改LD_LIBRARY_PATH变量,将指定路径替换为本地路径来解决。对于常用路径,还能在home目录的.bashrc文件中添加代码增加支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于一些自己临时编译的代码libraries路径,不在系统路径下,执行程序时,会找不到动态链接库,需要自己修改LD_LIBRARY_PATH变量,用于支持程序加载时搜到所的路径。
使用时,将下面的/usr/local/lib替换为本地的路径即可。

另外,对于一些常用的路径,也可以通过在自己home目录的.bashrc文件中添加下面的代码来增加支持。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
### 如何正确配置 LD_LIBRARY_PATH 环境变量 #### 一、理解 LD_LIBRARY_PATH 的作用 `LD_LIBRARY_PATH` 是 Linux 下的一个重要环境变量,用于指定动态链接器在运行时查找共享的额外路径。如果某些应用程序无法找到所需的共享,则可以通过设置此变量来解决问题[^4]。 #### 二、临时配置方法 为了测试或快速验证某个程序是否能正常工作,可以暂时修改 `LD_LIBRARY_PATH` 变量。以下是具体操作方式: 1. **使用 `export` 命令** 打开终端并输入以下命令: ```bash export LD_LIBRARY_PATH=/path/to/your/library:$LD_LIBRARY_PATH ``` 这里的 `/path/to/your/library` 表示自定义的共享目录位置。注意,在新值后面加上 `$LD_LIBRARY_PATH` 是为了避免覆盖已有的路径[^1]。 2. **验证配置是否成功** 输入以下命令以确认新的路径已被加入到环境中: ```bash echo $LD_LIBRARY_PATH ``` #### 三、永久配置方法 为了让每次启动系统后都自动加载特定的 `LD_LIBRARY_PATH` 设置,可采用以下两种方案之一: 1. **编辑用户的 shell 配置文件** 对于大多数用户来说,默认使用的 Shell 是 Bash 或 Zsh。因此可以在对应的配置文件添加上述导出语句。 - 如果是 Bash 用户,请打开 `.bashrc` 文件(位于家目录下),追加如下内容: ```bash export LD_LIBRARY_PATH="/path/to/your/library:$LD_LIBRARY_PATH" ``` - 若为 Zsh 用户,则需编辑 `.zshrc` 文件完成相同的操作。 2. **全局生效的方法——修改 /etc/ld.so.conf.d/** 若要让更改影响整个操作系统而非单个用户,推荐将新增路径写入 `/etc/ld.so.conf.d/` 目录中的任意 .conf 文件里。例如创建名为 cuda.conf 的文件并将 CUDA 所在地址填进去之后保存退出;最后记得执行刷新缓存指令使改动即时可用: ```bash sudo ldconfig ``` #### 四、注意事项 - 不要滥用 `LD_LIBRARY_PATH` ,因为它可能导致意外的行为或者安全风险。比如优先级高于标准系统可能引发兼容性问题甚至漏洞利用情况发生。 - 当遇到多个版本冲突的时候考虑构建独立的应用沙盒环境如 Docker 容器或是 Conda 虚拟env等方式隔离依赖关系更好一些[^3]。 ```python import os os.environ['LD_LIBRARY_PATH'] = '/new/path:' + os.getenv('LD_LIBRARY_PATH', '') print(os.environ.get('LD_LIBRARY_PATH')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值