linux下用C编程访问mysql数据库,编译报错
照着书编写了一个访问mysql数据库的例子程序。
但是变译的时候总是提示
undefined reference to '__gxx_personlity_v0'
collect2: ld returned 1 exit status
编译的语句是
gcc -o tmysql tmysql.C -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz
元程序如下:很简单的
#include <stdio.h>
#include <mysql.h>
int main(char **args){
MYSQL_RES *query_result;
MYSQL_ROW row;
MYSQL *db_handle,mysql;
int query_error;
mysql_init(&mysql);
db_handle=mysql_real_connect(&mysql,"localhost","root","mysql","CA",0,0,0);
if (db_handle==NULL){
printf(mysql_error(&mysql));
return 1;
}
query_error=mysql_query(db_handle,"SELECT ID,MailAccount FROM UserPublicKey");
if(query_error!=0){
printf(mysql_error(db_handle));
return 1;
}
query_result=mysql_store_result(db_handle);
while((row=mysql_fetch_row(query_result))!=NULL){
printf("ID: %s;MailAccount: %s\n",(row[0]?row[0]:"NULL"),(row[1]?row[1]:"NULL"));
}
mysql_free_result(query_result);
mysql_close(db_handle);
}