今天做这个测试同样遇到了人们常说的找不到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 一切正常。