在使用<mysql.h>文件时,显示函数未定义,解决方法是在编译的时候指定文件位置:
-lmysqlclient -L /usr/lib64/mysql/
/usr/lib64/mysql/是我的mysql.h的位置,完整的编译命令是:
g++ XX.cpp -lmysqlclient -L /usr/lib64/mysql/
但是这是linux端的编译命令,VS2019想要编译成功需要在命令行加入一段文字
如图上面那一大段不可修改的是VS自动生成的,是根据你的配置选项自动生成,下面的其他选项可以由用户自己添加,在使用<mysql.h>时加入这一句话,使用其他库文件时需要加命令时同理。
string quer = "select * from A_xuesheng where 账号 = '" + Data[1] + " ' and 密码 = '" + Data[2] + "' ";// 操作数据库的语句
char* dat;
int len = quer.length();
dat = (char*)malloc((len + 1) * sizeof(char));
quer.copy(dat, len, 0);
dat[len] = '\0';
mysql_query(&conn, dat);
MYSQL_RES* result = mysql_store_result(&conn);
int rowcount = mysql_num_rows(result);
if (rowcount == 0)
{
char* sp = "no";
send(client_socket, sp, BUFFER_SIZE, 0);
}
else
{
send(client_socket, "yes", BUFFER_SIZE, 0);
}
附上一段linux端使用mysql的代码。VS命令行修改完之后便可编译成功: