2 messages in com.mysql.lists.win32how can I compile this?
FromSent OnAttachments
jinhyuk choi13 Oct 2002 22:03 
Michael Widenius16 Oct 2002 08:18 
Subject:how can I compile this?
From:jinhyuk choi (tour@yahoo.com)
Date:10/13/2002 10:03:51 PM
List:com.mysql.lists.win32

OS:windows98 compiler:gcc (mingw) source: #if defined(_WIN32) || defined(_WIN64) #include <windows.h> #endif #include <mysql.h> #include <string.h> #include <stdio.h>

#define DB_HOST "127.0.0.1" #define DB_USER "id" #define DB_PASS "pass" #define DB_NAME "test" #define CHOP(x) x[strlen(x) - 1] = ' '

int main(void) { MYSQL *connection=NULL, conn; MYSQL_RES *sql_result; MYSQL_ROW sql_row; int query_stat;

char name[12]; char address[80]; char tel[12]; char query[255];

mysql_init(&conn);

connection = mysql_real_connect(&conn, DB_HOST, DB_USER, DB_PASS, DB_NAME, 3306, (char *)NULL, 0);

if (connection == NULL) { fprintf(stderr, "Mysql connection error : %s", mysql_error(&conn)); return 1; }

query_stat = mysql_query(connection, "select * from address"); if (query_stat != 0) { fprintf(stderr, "Mysql query error : %s", mysql_error(&conn)); return 1; }

sql_result = mysql_store_result(connection);

printf("%+11s %-30s %-10s", "name", "address", "number"); while ( (sql_row = mysql_fetch_row(sql_result)) != NULL ) { printf("%+11s %-30s %-10s", sql_row[0], sql_row[1], sql_row[2]); }

mysql_free_result(sql_result);

printf("name :"); fgets(name, 12, stdin); CHOP(name);

printf("address :"); fgets(address, 80, stdin); CHOP(address);

printf("number :"); fgets(tel, 12, stdin); CHOP(tel);

sprintf(query, "insert into address values " "('%s', '%s', '%s')", name, address, tel);

query_stat = mysql_query(connection, query); if (query_stat != 0) { fprintf(stderr, "Mysql query error : %s", mysql_error(&conn)); return 1; }

mysql_close(connection); }

I included windows.h before mysql.h, and used -lm -lmysqlclient options. but I failed to compile this. error messages were like the following texts.

c:\mysql\lib\opt\mysqlclient.lib(./release/my_thr_init.obj)(.text+0x1e):E:\build-3.23.52\m: variable '_iob' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details. c:\mysql\lib\opt\mysqlclient.lib(./release/default.obj)(.text+0x2b2):E:\build-3.23.52\m: variable '_iob' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details. . . . c:\mysql\lib\opt\mysqlclient.lib(./release/my_gethostbyname.obj)(.text+0x12):E:\build-3.23.52\m: undefined reference to `gethostbyname@4' c:\mysql\lib\opt\mysqlclient.lib(./release/my_gethostbyname.obj)(.text+0x19):E:\build-3.23.52\m: undefined reference to `WSAGetLastError@0' c:\mysql\lib\opt\mysqlclient.lib(./release/default.obj)(.text+0x6):E:\build-3.23.52\m: undefined reference to `_chkstk' c:\mysql\lib\opt\mysqlclient.lib(./release/my_net.obj)(.text+0x11):E:\build-3.23.52\m: undefined reference to `inet_ntoa@4' fu000001.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname' fu000002.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname' fu000003.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname' fu000004.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname' fu000005.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname' fu000006.o(.idata$3+0xc): more undefined references to `libmsvcrt_a_iname' follow nmth000000.o(.idata$4+0x0): undefined reference to `_nm___pctype' nmth000011.o(.idata$4+0x0): undefined reference to `_nm____mb_cur_max'

what sould I check more?