我下载mysql-embedded 5.1.46 和 mysql-level 5.1.45 安装成功。
程序:test.c
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include "mysql.h"
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
static char *server_options[] = { "mysql_test", "--defaults-file=my.cnf" };
int num_elements = sizeof(server_options)/ sizeof(char *);
static char *server_groups[] = { "libmysqld_server", "libmysqld_client" };
int main(void)
{
mysql_server_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client");
mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);
mysql_real_connect(mysql, NULL,NULL,NULL, "database1", 0,NULL,0);
mysql_query(mysql, "SELECT column1, column2 FROM table1");
results = mysql_store_result(mysql);
while((record = mysql_fetch_row(results)))
{
printf("%s - %s \n", record[0], record[1]);
}
mysql_free_result(results);
mysql_close(mysql);
mysql_server_end();
return 0;
}编译命令:gcc -I /usr/include/mysql -L /usr/lib/mysql -lmysqld test.c -o test报错:
/tmp/ccEcsSIe.o(.text+0x30): In function `main':
test.c: undefined reference to `mysql_server_init'
/tmp/ccEcsSIe.o(.text+0x3d):test.c: undefined reference to `mysql_init'
/tmp/ccEcsSIe.o(.text+0x5a):test.c: undefined reference to `mysql_options'
/tmp/ccEcsSIe.o(.text+0x6f):test.c: undefined reference to `mysql_options'
/tmp/ccEcsSIe.o(.text+0x8e):test.c: undefined reference to `mysql_real_connect'
/tmp/ccEcsSIe.o(.text+0xa4):test.c: undefined reference to `mysql_query'
/tmp/ccEcsSIe.o(.text+0xb5):test.c: undefined reference to `mysql_store_result'
/tmp/ccEcsSIe.o(.text+0xf0):test.c: undefined reference to `mysql_fetch_row'
/tmp/ccEcsSIe.o(.text+0x10f):test.c: undefined reference to `mysql_free_result'
/tmp/ccEcsSIe.o(.text+0x120):test.c: undefined reference to `mysql_close'
/tmp/ccEcsSIe.o(.text+0x128):test.c: undefined reference to `mysql_server_end'
collect2: ld returned 1 exit status问题:libmysqld.a 的库都找到了,为什么还会出这些错误呢?请大家指教
程序:test.c
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include "mysql.h"
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
static char *server_options[] = { "mysql_test", "--defaults-file=my.cnf" };
int num_elements = sizeof(server_options)/ sizeof(char *);
static char *server_groups[] = { "libmysqld_server", "libmysqld_client" };
int main(void)
{
mysql_server_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client");
mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);
mysql_real_connect(mysql, NULL,NULL,NULL, "database1", 0,NULL,0);
mysql_query(mysql, "SELECT column1, column2 FROM table1");
results = mysql_store_result(mysql);
while((record = mysql_fetch_row(results)))
{
printf("%s - %s \n", record[0], record[1]);
}
mysql_free_result(results);
mysql_close(mysql);
mysql_server_end();
return 0;
}编译命令:gcc -I /usr/include/mysql -L /usr/lib/mysql -lmysqld test.c -o test报错:
/tmp/ccEcsSIe.o(.text+0x30): In function `main':
test.c: undefined reference to `mysql_server_init'
/tmp/ccEcsSIe.o(.text+0x3d):test.c: undefined reference to `mysql_init'
/tmp/ccEcsSIe.o(.text+0x5a):test.c: undefined reference to `mysql_options'
/tmp/ccEcsSIe.o(.text+0x6f):test.c: undefined reference to `mysql_options'
/tmp/ccEcsSIe.o(.text+0x8e):test.c: undefined reference to `mysql_real_connect'
/tmp/ccEcsSIe.o(.text+0xa4):test.c: undefined reference to `mysql_query'
/tmp/ccEcsSIe.o(.text+0xb5):test.c: undefined reference to `mysql_store_result'
/tmp/ccEcsSIe.o(.text+0xf0):test.c: undefined reference to `mysql_fetch_row'
/tmp/ccEcsSIe.o(.text+0x10f):test.c: undefined reference to `mysql_free_result'
/tmp/ccEcsSIe.o(.text+0x120):test.c: undefined reference to `mysql_close'
/tmp/ccEcsSIe.o(.text+0x128):test.c: undefined reference to `mysql_server_end'
collect2: ld returned 1 exit status问题:libmysqld.a 的库都找到了,为什么还会出这些错误呢?请大家指教
解决方案 »
- Sqlite参数查询
- 为什么我的网站,几天就不能LOGIN,不能读MYSQL数据库,重启一下就好了
- 祝十豆三生日快乐,另征集定时执行mysql数据库任务方案。
- 20091230 安装perl模块遇到的问题
- Mysql里怎么获取某一项有哪些值 相当于将值放到map里
- 大家好,mysql 如何使用 job 功能。
- 求一sql语句。。。。
- 怎么知道mysql使用什么中文编码(charsetEncoding)方式?或者说怎么设置中文编码方式?
- 求一查询语句!!!
- 江湖救急.........Mysql多服务器搭建问题,请个大神指导一下
- mysql查询:如果将记录按时间段分组
- Mysql的ROOT密码忘了怎么办
这个应该是链接问题。
但是库libmysqld.a 存在,为什么链接不上这些函数呢?