mysql c api example_mysql c api 怎么设置才能用呢?

一段简单的程序,网上拷的,但无法编译,

FC5的机子装了mysql5,我在FC5的安装盘找到了所有mysql*rpm,全部装上去了,

可编译一个简单的程序时出现下面的错误,不知还需装些什么?

#gcc test.c

test.c: 在函数 ‘main’ 中:

test.c:19: 警告:隐式声明与内建函数 ‘exit’ 不兼容

/tmp/ccOfwWMG.o: In function `main':test.c:(.text+0x37):对‘mysql_init’未定义的 引用

:test.c:(.text+0x63):对‘mysql_close’未定义的引用

collect2: ld 返回 1

代码如下:

#include

#include "mysql/mysql.h"

int main(int argc, char **argv)

{

MYSQL mysql;/* variation #1*/

printf("nntCopyright Aftab Jahan Subedarntthttp://www.geocities.com/jahan.geo");

printf("nttjahan@geocities.com nttPhone:+88027519050n");

if(mysql_init(&mysql)==NULL)

{

printf("nFailed to initate MySQL connection");

exit(1);

}

/*now you can call any MySQL API function you like*/

mysql_close(&mysql);

}

|

你这样编译试试:

gcc -lmysqlclient test.c

|

可能是没有链接库的原因了

|

gcc后面加  `mysql_config --.......`自己去看吧

|

没办法的,不能说什么板块都有很多高手;

我们不懂的只能一起讨论,一起进步,总是希望高手,那高手当初的时候怎么办啊

所以我觉得无论是自己解决问题了,还是别人帮忙解决了,最好能把解决方式贴出来,这样别人就能少走弯路。

|

应当把几个mySQL的静态库链接上,gcc 里面要加上-lib选项.

|

主要看libmysqlclient.a在那个目录下,例如我的在/usr/local/mysql/lib下,相应的include 在/usr/local/mysql/include下,那么makefile可以这样写:

CC=gcc

INCLUDES = -I/usr/local/mysql/include

LIBS = -L/usr/local/mysql/lib -lmysqlclient -lz

example:example.o

CC -o  -g example example.o $(LIBS)

example.o:example.c

CC $(INCLUDES) -c -g example.c

这样写了以后,源代码的要改为,因为在makefile中已经指明了mysql.h的位置了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值