在运行程序时,经常遇到下面这种动态库加载失败的情况,这时往往是系统在动态库的搜索路径下没有找到对应的库文件导致的。
目录
一、使用 LD_LIBRARY_PATH
二、修改 /etc/ld.so.conf
一、使用 LD_LIBRARY_PATH
环境变量 LD_LIBRARY_PATH是动态库的搜索路径,一般情况下为空,可执行文件运行时,会去这个环境变量中搜索动态库路径
命令行添加
命令行添加仅本次会话或者当前窗口范围内有效。在命令行中输入
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:动态库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/gzx/gcc_64/lib
本地添加
在 ~/.bashrc 文件的末尾加上如下内容
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:动态库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/gzx/gcc_64/lib
在命令行输入 source ~/.bashrc 重新加载环境变量
全局添加
在 /etc/profile 文件的末尾加上如下内容
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:动态库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/gzx/gcc_64/lib
在命令行输入 source /etc/profile 重新加载环境变量
二、修改 /etc/ld.so.conf
在 /etc/ld.so.conf 文件中添加库目录的绝对路径
保存退出后,输入 sudo ldconfig 使其生效
参考文章:
ubuntu 加载动态库? - 知乎