报错 cannot find -lmysqlclient
为什么找不到lmysqlclient库,是因为编译找的动态库是根据去找/usr/lib文件夹下的库。而Centos会默认将mysql相关的库装在/usr/lib64/mysql下。所以,需要在/usr/lib/下加入mysql的库文件。
因为确定自己是安装了mysql的,所以先 whereis mysql 确认。
如图,/usr/lib64/mysql目录下会多个libmysqlclient.so版本的文件。
一、尝试修改环境变量
export LD_LIBRARY_PATH=/usr/lib64/mysql // 无效
二、创建软连接
sudo ln -sv /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so //解决
注意:链接时用自己目录下相关版本的.so文件,我用的是 libmysqlclient.so.18
三、将/usr/lib64/mysql/下的libmysqlclient.* 拷贝到 /usr/lib/
sudo cp -rf /usr/lib64/mysql/libmysqlclient.* /usr/lib
文章参考与<零声教育>的C/C++linux服务期高级架构系统教程学习: