编译时提示头文件#include <mysql/mysql.h>不存在,百度之后也没解决

#include <mysql/mysql.h>
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW *row;

char *server = "localhost";
char *user = "root";
char *password = "1";

conn = mysql_init(NULL);
if(!mysql_real_connect (conn,server,user,password,database,0,NULL,0))
{
    fprintf(stderr,"%s\n",mysql_error(conn));
    exit(1);
}
if(mysql_real_query(conn,"select * from student"))
{
    fprintf(stderr,"%s\n",mysql_error(conn));
    exit(1);
}
res = mysql_use_result(conn);
while((row = mysql_fetch_row(res)) != NULL)
{
    printf("%s\t%s\t%s\n",row[0],row[1],row[2]);
}
mysql_free_result(res);
mysql_close(conn);
阅读 12.4k
2 个回答
$ sudo yum install mysql-devel -y    //RHEL,Centos,Fedora
$ sudo apt-get install libmysqlclient-dev -y  //Ubuntu

如果已经安装成功了,找到mysql.h的文件路径,-I 编译即可

$ sudo  find /usr/ -name 'mysql.h'
$ gcc -I/usr/include/mysql ...

你这是使用了 mysql connector 吧,可以到 mysql 官网下载安装。或者如果你使用系统软件源里面带的有(如 CentOS7 带的是 mariadb-devel 包),可以直接用包管理器安装

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题