linux下c操作mysql

1.背景:

C API代码是与MySQL一起提供的。它包含在mysqlclient库中,并允许C程序访问数据库。
根据Mysql官方手册中的说法,前提是必须要安装Mysql-client-XXX的安装包。

2.环境准备:

2.1linux版本

[root@tf-test c_pro]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)

2.2 mysql类库

[root@tf-test c_pro]# rpm -qa|grep MySQL
MySQL-client-5.5.28-1.rhel5.x86_64
MySQL-server-5.5.28-1.rhel5.x86_64
MySQL-devel-5.5.28-1.rhel5.x86_64

3.文件清单:

3.1.mysqlVersion.c

#include <stdio.h>
#include "/usr/include/mysql/mysql.h"
void mysql_version(void)
{
printf("MySQL client version: %s !\n" ,mysql_get_client_info());

}
int main (int argc,char *argv[])
{
mysql_version();
return 0;
}




3.2 makefile

#makefile开始
demo:mysqlVersion.c
@gcc -lm -lpthread -ldl -I/usr/include/mysql mysqlVersion.c -o demo -L/usr/lib64/mysql -lmysqlclient
clean :
@ls | grep -v ^makefile$$ | grep -v [.]c$$ | grep -v [.]h$$ | grep -v [.]sql$$ | xargs rm -rf
#makefile结束




4.操作步骤:

1.执行make命令
2../demo
3.显示MySQL client version:5.5.28

5.遇到问题整理:

1.undefined reference to 'floor'/undefined reference to `&
gcc 编译的时候加上-lm选项
2. undefined reference to 'pthread_mutex_trylock' 解决办法
gcc编译时加入 -lpthread 选项
3.undefined reference to `dlclose'问题 和undefined reference to `dlerror' 解决办法
gcc编译时加入 -ldl 选项

转载于:https://my.oschina.net/dlpinghailinfeng/blog/201756

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值