▚ 01 问题描述&分析


  • Linux中,编译或安装包时,常会遇到类似的问题:
error while loading shared libraries: libxxx.so: cannot open shared object file: No such file or directory
  • 导致该问题的原因往往不是没有这个文件,而是没有配置好路径,所以编译时会因找不到该文件而报错。

本文假设未找到的库为libmpfr.so.6,其绝对路径为/home/dabai/mpfr-4.0.2/lib
常用的解决方法有两个。

在这里插入图片描述


▚ 02 方法一:使用export命令


  • 在终端使用export命令来配置环境变量,但仅限于当前终端;对于其他终端窗口则需要重新使用export命令才起作用。
  • export配置环境变量的格式为:
export LD_LIBRARY_PATH=/home/dabai/mpfr-4.0.2/lib:$LD_LIBRARY_PATH
  • 其中,LD_LIBRARY_PATHLinux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

在这里插入图片描述


▚ 03 方法二:修改配置文件


  • 修改配置文件,如~/.bashrc~/.bash_profile/etc/profile
  • 其中,普通用户可直接修改~/.bashrc~/.bash_profile,因此,该修改仅对当前用户有效。
  • root用户可修改/etc/profile,且对所有用户都有效。

  • 下面以修改~/.bashrc文件为例:
vim ~/.bashrc
  • 然后,在.bashrc文件中添加如下内容:
export LD_LIBRARY_PATH=/home/dabai/mpfr-4.0.2/lib:$LD_LIBRARY_PATH
  • 保存并退出后,在终端输入如下命令,以使上述命令生效:
source ~/.bashrc






在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐