`
zhyt710
  • 浏览: 203014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下用c连接mysql

阅读更多

今天做这个测试同样遇到了人们常说的找不到mysql.h的问题。

下面是测试代码,源自《linux程序设计》(老外的大作) ,做了部分更改

 

#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>
int main(int argc, char *argv[]) {
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
if (!conn_ptr) {
fprintf(stderr, “mysql_init failed\n”);
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr, “localhost”, “rick”, “secret”,
“foo”, 0, NULL, 0);
if (conn_ptr) {
printf(“Connection success\n”);
} else {
printf(“Connection failed\n”);
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}

 

当代码完成,便是要编译了。 可是看着教程上和网上的各个编译命令参数,不尽相同,而且都行不通。mysql文件始终没有找到。有人提到没有安装mysql-devel-5.0.37-2.fc7.i386.rpm(对应我mysql数据库版本)。我不清楚我的fedora7是不是有没有装,于是自己装了一遍。结果还是不行。

最后把#include<mysql.h>改成#include<mysql/mysql.h>发现eclipse cdt的找不到的提示没有了,而且在运行如下命令

              gcc -o connection -g connection.c -lz /usr/lib/mysql/libmysqlclient.15.0.0

出现令人兴奋的结果,那就是编译通过了。

运行链接程序 ./connection  一切正常。

分享到:
评论
6 楼 buaadu 2009-05-27  
好像真的需要安装mysql-devel-5.0.37-2.fc7.i386.rpm吧...我执行gcc -o connection -g connection.c -lz /usr/lib/mysql/libmysqlclient.a 成功了,不过我找不到libmysqlclient.15.0.0。。。
5 楼 buaadu 2009-05-27  
那么mysql-devel-5.0.37-2.fc7.i386.rpm还需要安装吗?
4 楼 zhyt710 2009-05-26  
buaadu 写道

我的Linux没有装mysql,只用c api应该也可以连接远程mysql数据库吧?请教一下,c api怎么安装啊?是解压缩一下就行了吗?=。=! 谢谢

只用c api就可以连接。安装方式要看你下载的安装包的类型。 安装包可能有rpm,二进制,或类似绿色压缩包三种情况。我文中提到的是rpm方式。rpm命令很方便安装,你可查阅相关资料
3 楼 buaadu 2009-05-26  
我的Linux没有装mysql,只用c api应该也可以连接远程mysql数据库吧?请教一下,c api怎么安装啊?是解压缩一下就行了吗?=。=! 谢谢
2 楼 zhyt710 2009-05-25  
buaadu 写道

这个程序是不是必须在本机安装mysql啊?可不可以连接远程的mysql啊?

当然可以, 把代码中的 localhost 改成你自己要连接的 mysql主机的计算机名或ip地址就行了。
1 楼 buaadu 2009-05-25  
这个程序是不是必须在本机安装mysql啊?可不可以连接远程的mysql啊?

相关推荐

Global site tag (gtag.js) - Google Analytics