error while loading shared libraries?

发行日期:

最近在看mysql 的api。用C 写和mysql 交互的代码,用的是xampp-linux-devel-1.7 包,全部的lib 和include 都放在了/opt 下面。编译时指定include 和lib 搜索位置都没问题。可在程序运行时 ./connect 时,出错:

./connect: error while loading shared libraries: libmysqlclient.so.15.0.0:cannot open shared object file: No such file or directory

查了一下,是ld(动态装载器)找不到libmysqlclient.so.15.0.0 的所在位置。解决办法:

sudo touch /etc/ld.so.conf.d/mysql.conf
sudo gedit /etc/ld.so.conf.d/mysql.conf

在里面写上libmysqlclient.so.15.0.0 所在的目录位置就可以,比如:/opt/lampp/lib/mysql 保存后,执行 sudo ldconfig -v 就可以了。

.so 动态库的解决办法都一样 :)