ubuntu下C语言连接mysql报错

在ubuntu下安装好了mysql,想测试一下C语言连接mysql,写了一个connect.c文件,如下

#include <stdlib.h>
#include <stdio.h>

#include "mysql.h"

int main(int argc,char *argv[])  {
	MYSQL *conn_ptr;
	conn_ptr = mysql_init(NULL);
	
	if(!conn_ptr)  {
	    fprintf(stderr,"mysql_init failed\n");
	    return EXIT_FAILURE;
	}
	
	conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","xxxxxx","foo",0,NULL,0);
	
	if(conn_ptr)
		printf("Connection success\n");
	else
		printf("Connection failed\n");
	
	mysql_close(conn_ptr);
	
	return EXIT_SUCCESS;
}

结果报错,libmysqlclient.so.20:cannot open shared object file:no such file or directory,

百度了一下似乎是共享库未添加。但是这个库我已经放在usr/lib/mysql下了啊,为什么还报错?

 

路径查找问题,配置动态库查找路径。

  • 执行命令 `cat /etc/ld.so.conf` 看下动态链接库的查找路径里面是否包含 `/usr/lib/mysql/`,如果没有请添加。
  • 执行命令 `ldconfig` 将上述配置加载到缓存文件 `/etc/ld.so.cache` 里

库放在/usr/lib64下面把,有些东西需要配置。