今天在ubuntu下 ,用eclipse连接mysql数据库,总是出现mysql_init() undefined 错误,后来发现需要在项目中添加一个静态链接库。下面把eclipse+CDT用C++连接mysql的过程描述一下。
首先、安装MySQL,在终端中输入:sudo apt-getinstall mysql-server mysql-client(或者在ubuntu的软件中心安装)。同时,还需要安装开发包(ubuntu不会像windows那样会出现c api,要继续安装api),安装开发包命令:
sudo apt-get install libmysqlclient15-dev
第二、安装eclipse,并配置eclipse用于开发C/C++的环境。可以参考:http://blog.csdn.net/linrulei11/article/details/7298093
第三、eclipse+CDT搭建完成之后,可以新建一个C++ 项目,输入如下测试代码。
#include <mysql/mysql.h>
#include <stdio.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";//数据库地址
char *user = "root";//数据库用户名
char *password = "kk";//数据库密码
char *database = "mysql";//使用的库名
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(res);
mysql_close(conn);
return 0;
}
项目结构如下:
![](http://hi.csdn.net/attachment/201202/29/0_1330487024TOjr.gif)
ctrl+b对项目build之后,会出现9个错误。全是无法识别mysql的接口函数。这个时候,在eclipse的“项目->属性->C/C++Build -> settings -> gcc c linker->libraries ”加入mysqlclient。再Build就不会出现错误了。运行之后,也会输出结果。
今天在ubuntu下 ,用eclipse连接mysql数据库,总是出现mysql_init() undefined 错误,后来发现需要在项目中添加一个静态链接库。下面把eclipse+CDT用C++连接mysql的过程描述一下。
首先、安装MySQL,在终端中输入:sudo apt-getinstall mysql-server mysql-client(或者在ubuntu的软件中心安装)。同时,还需要安装开发包(ubuntu不会像windows那样会出现c api,要继续安装api),安装开发包命令:
sudo apt-get install libmysqlclient15-dev
第二、安装eclipse,并配置eclipse用于开发C/C++的环境。可以参考:http://blog.csdn.net/linrulei11/article/details/7298093
第三、eclipse+CDT搭建完成之后,可以新建一个C++ 项目,输入如下测试代码。
#include <mysql/mysql.h>
#include <stdio.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";//数据库地址
char *user = "root";//数据库用户名
char *password = "kk";//数据库密码
char *database = "mysql";//使用的库名
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(res);
mysql_close(conn);
return 0;
}
项目结构如下:
ctrl+b对项目build之后,会出现9个错误。全是无法识别mysql的接口函数。这个时候,在eclipse的“项目->属性->C/C++Build -> settings -> gcc c linker->libraries ”加入mysqlclient。再Build就不会出现错误了。运行之后,也会输出结果。