我正在设置MySQL数据库后端,以与我的C程序一起使用(在Windows 10 64位系统上),当前我只是在测试以下非常基本的代码。
#include<stdio.h>
#include<stdlib.h>
#include "mysql.h"
static char *host = "localhost";
static char *user = "admin";
static char *pass = "admin";
static char *dbname = "biblio";
unsigned int port = 3306;
static char *unix_socket = NULL;
unsigned int flag = 0;
int main() {
MYSQL *conn;
conn = mysql_init(NULL);
if(!(mysql_real_connect(conn, host, user, pass, dbname, port, unix_socket, flag))) {
printf("\nError: %s [%d]\n", mysql_error(conn), mysql_errno(conn));
exit(1);
}
printf("Connection successful!\n\n");
return EXIT_SUCCESS;
}
我无法弄清楚如何正确链接mysql.h或libmysql.dll的位置,或者我不知道该如何解决此问题。 我已经安装了MinGW,我的mysqld进程也正在运行,并且以下是makefile的代码,它可以编译而没有任何错误,但是当我运行输出时,出现错误,代码执行无法继续,因为找不到libmysql.dll。 我也尝试将libmysql.dll粘贴到我的代码的根目录中,但随后引发一些'caching_sha2_password'函数错误,因此我认为这可能不是正确的方法,因为无法将所有连接器文件粘贴到该目录中(或他们可以,我不知道请帮忙)。
CFLAGS = -I'C:\Program Files\MySQL\MySQL Connector C 6.1\include\' -L'C:\Program Files\MySQL\MySQL Connector C 6.1\lib' -lmysql
output: backend.c
gcc $< $(CFLAGS) -o $@
在运行此代码之前,请告诉我我应该知道什么以及如何正确进行。