解决/usr/bin/ld: cannot find -lmysqlclient

centos系统64位 本机装完mysql后会在/usr/lib64/mysql下产生多个libmysqlclient.so(不同版本)文件
使用命令查找mysqlclient库文件
[TFTD@localhost TFSystemService]$ find /usr/lib64/mysql/ -name libmysql*
/usr/lib64/mysql/libmysqlclient.so.18
/usr/lib64/mysql/libmysqlclient.so.18.1.0
/usr/lib64/mysql/libmysqlclient_r.so.18
/usr/lib64/mysql/libmysqlclient_r.so.18.1.0
或则直接去该文件夹/usr/lib64/mysql/ 下ls查看
-------------------------------------------------------------------------------------------------------
之前尝试 export LD_LIBRARY_PATH=/usr/lib64/mysql 方法无效
-------------------------------------------------------------------------------------------------------
至于为什么找不到lmysqlclient库,是因为编译找的动态库是根据去找/usr/lib文件夹下的库,
因此,需要将在/usr/lib/下加入mysql库文件
方法有两种:
第一种:创建软连接(试验成功)
sudo ln -sv /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so(我只挑了其中一个版本的so文件,具体什么版本看你具体目录下有什么版本的)
第二种:复制库文件到指定目录下(未实验,但理论是行得通的)
cp -r /usr/lib64/mysql/  /usr/lib

最后make下就不报编译错误了
发布了17 篇原创文章 · 获赞 22 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/u013255206/article/details/65626852