VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2994|回复: 12

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

[复制链接]

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-2-2 14:20:02 | 显示全部楼层 |阅读模式
一段简单的程序,网上拷的,但无法编译,
我在安装盘找到了所有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 <stdio.h>
#include "mysql/mysql.h"

int main(int argc, char **argv)
{

  MYSQL mysql;/* variation #1*/

  printf("\n\n\tCopyright Aftab Jahan Subedar\n\t\thttp://www.geocities.com/jahan.geo");
  printf("\n\t\tjahan@geocities.com \n\t\tPhone:+88027519050\n");

  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);

  }
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-3-29 11:00:01 | 显示全部楼层
我看了"mysql/mysql.h"里面的声明,有mysql_init() , mysql_close()等的声明,为什么编译出错呢?
真是怪了!

看来大家都搞不懂这个问题?我很有耐心地等了好几个小时了!郁闷!


回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-1 20:00:01 | 显示全部楼层
你这样编译试试:
gcc -lmysqlclient test.c
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-2 08:30:01 | 显示全部楼层
可能是没有链接库的原因了
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-4-4 10:15:02 | 显示全部楼层
gcc -lmysqlclient test.c
早就试过了,错误如下:
/usr/bin/ld:找不到 -lmysqlclient
collect2: ld 返回 1
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-4 17:00:02 | 显示全部楼层
gcc后面加  `mysql_config --.......`自己去看吧
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-4-4 20:00:01 | 显示全部楼层
gcc后面加 `mysql_config --.......`自己去看吧

------------

是一个亮点。
但你要我加什么呢?我真的不懂!搞linux不久,虚心求教了!


回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-7-20 10:30:01 | 显示全部楼层
我自已解决这个问题了,花了好几天才搞定!

其实这问题很小,不难,因为这还算是一个初学者常见的问题。
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-21 11:30:01 | 显示全部楼层
没办法的,不能说什么板块都有很多高手;
我们不懂的只能一起讨论,一起进步,总是希望高手,那高手当初的时候怎么办啊
所以我觉得无论是自己解决问题了,还是别人帮忙解决了,最好能把解决方式贴出来,这样别人就能少走弯路。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-21 17:30:01 | 显示全部楼层
应当把几个mySQL的静态库链接上,gcc 里面要加上-lib选项.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表