本文记录了如何解决程序执行时动态库无法被加载的问题,在gcc环境下运行包含调用动态库的程序出现问题
:error while loading shared libraries:**.so:cannot open shared objected file.no such file of directory.
- 解决办法1(临时)
将当前库文件路径导入到环境变量LD_LIBRARY_PATH中,然后再查看文件依赖的库,解决了问题(只是临时导入,关闭了终端后需要在进入重新设置)。
- 解决方法2
在home目录下的隐藏文件.bashrc最后一行加上#export LD_LIBRARY_PATH=/home/hyj/桌面/gcc/lib
- 方法3(重点):
(a)找到动态连接器的配置文件
(b)动态库的路径写到配置文件中
©更新 sudo ldconfig –v
总结: 动态库的优缺点