1. 首先,需要添加include目录和Libraries目录,这两步同VS下配置opencv的方法一样,如下图所示:
2.需要注意的是,在Linker项配置时,在Libraries下并没有像VS下那样加入附加依赖项,在配置MySQL时是这样。如此配置后,编译过程显示找不到相关文件,如"error: undefined reference to mysql_init"等错误,在Linker Options选项下加入-lmysqlclient后编译通过,顺利执行,下面示例代码:
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char server[] = "localhost";
char user[] = "root";
char password[] = "123456";
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));
exit(1);
}
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(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);
printf("finish! \n");
return 0;
}
注意,在上述代码char password[] = "123456";中password[]中要输入自己安装mysql时的密码,才能看到输出结果:
参考资料:http://stackoverflow.com/questions/9645844/mysql-with-c-error-undefined-reference-to-mysql-init