在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了:
./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
例如我的lib目录是/usr/local/lib可以按如下方式操作:
1、直接在/etc/ld.so.conf中加入/usr/local/lib这一行
2、查看/etc/ld.so.conf文件,发现在里面有这一行:
include ld.so.conf.d/*.conf
因此,我们只需要在/etc/ld.so.conf.d文件夹下面新建一个xxx.conf的文件,在里面写上lib目录即可,推荐使用第二种。
保存之后,按网上说的运行:/sbin/ldconfig –v 更新配置发现没有效果。
必须要运行:ldconfig 才行。
另外,在修改之前可以用下面命令先测试一下,下面的命令只会在当前的终端起作用:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH