MySQL 和 C:对 `_mysql_init@4'| 的未定义引用

log*_*nit 3 c mysql

我正在尝试为 C 编写一个简单的脚本来从 MySQL 数据库获取值,但它抛出此错误“未定义引用‘_mysql_init@4’”

不知道我是否没有链接到我应该链接的内容?我的C知识有限...

我在 Windows 上使用代码块,这是我的代码:

#include <winsock.h>
#include <C:\mysql\include\mysql.h>
#include <stdio.h>
#include <string.h>

int main()
{
   MYSQL mysql;
   MYSQL_RES *res;
   MYSQL_ROW row;

   char query[80];
   mysql_init(&mysql);
   mysql_real_connect(&mysql,"localhost","user","pass","db",0,NULL,0);
   sprintf(query,"SELECT src,dst FROM ipaudit");
   mysql_real_query(&mysql,query,(unsigned int)strlen(query));
   res = mysql_use_result(&mysql);
   while(row = mysql_fetch_row(res))
    printf("%s %sn",row[0],row[1]);
   mysql_free_result(res);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*lis 5

这是一个链接器错误,表明链接器找不到该函数mysql_init

确保您链接到libmysql.libmysqlclient.lib。在 Windows 上构建时还需要包含<my_global.h>(请参阅 MySQL 手册中的同一页面)。