mysql c库 错误码_编译操作mysql数据库的C程序时的连接库错误

以下为使用C API写的操作数据库school的程序,保存文件名为mysql.c。

#include

#include

#include

int main()

{

MYSQL mysql;

MYSQL_RES *res;

MYSQL_ROW row;

char sql[50];

int t;

sprintf(sql,"select*from teacher");

mysql_init(&mysql);

if(!mysql_real_connect(&mysql,"localhost","root","","school",0,NULL,0))

printf("/nconnecting database error: %s/n",mysql_error(&mysql));

else

printf("/nconnecting database success!/n");

t= mysql_real_query(& mysql, sql, (unsigned int)strlen(sql));

if(t)

printf("query error: %s/n",mysql_error(&mysql));

else

{

res = mysql_store_result(&mysql);

while(row = mysql_fetch_row(res))

{

for(t = 0; t < mysql_num_fields(res); t++)

printf("%s",row[t]);

printf("/n");

}

}

printf("release the space of the result set.../n");

mysql_free_result(res);

mysql_close(&mysql);

printf("sql errror! %s/n",mysql_error(&mysql));

return 0;

}

我使用下列命令进行编译:

gcc–o mysqlmysql.c -I /root/Software/mysql/include/mysql -L /usr/lib –lmysqlclient,

但是却出现了连接错误,错误代码如下:

/usr/bin/ld: cannot find -lmysqlclient

collect2: ld returned 1 exit status。

然后我改变了编译的参数,使用如下命令进行编译:

gcc -o mysql mysql.c /usr/lib/mysql/libmysqlclient.so.15 -I /root/Software/mysql/include/mysql

也就是说把库文件当做源文件使用就可以了。

我也不知道是什么原因,按理说第一种方法是可以的。我在网上看到有人说可能是mysql的库做的有问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值