MySQL and C

Hi, I have this code that I want to compile with

gcc -o connect connect.o -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient

connect.c

#include “/usr/local/mysql/include/my_global.h”
#include “/usr/local/mysql/include/my_sys.h”
#include “/usr/local/mysql/include/mysql.h”

#include <stdio.h>

static char *opt_host_name = NULL;
static char *opt_user_name = NULL;
static char *opt_password = NULL;
static unsigned int opt_port_num = 0;
static char *opt_socket_name = NULL;
static char *opt_db_name = NULL;
static unsigned int opt_flags = 0;

static MYSQL *conn;

int
main (int argc, char *argv[])
{
/initialize connection handler/
conn = mysql_init(NULL);
if (conn == NULL){
fprintf(stderr, “mysql_init() failed\n”);
exit(1);
}
/connect to server/
if (mysql_real_connect(conn, opt_host_name, opt_user_name, opt_password, opt_db_name, opt_port_num, opt_socket_name, opt_flags) == NULL){
fprintf(stderr, “mysql_real_connect() failed\n”);
mysql_close(conn);
exit(1);
}
/disconnect from server/
mysql_close(conn);
exit(0);
}

When I compile it, got this error:

gcc -o connect connect.o -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient

/usr/local/mysql/lib/libmysqlclient.a(client.o): In function my_connect': client.o(.text+0x1f): undefined reference to connect’
client.o(.text+0x59): undefined reference to connect' /usr/local/mysql/lib/libmysqlclient.a(client.o): In function wait_for_data’:
client.o(.text+0x174): undefined reference to getsockopt' /usr/local/mysql/lib/libmysqlclient.a(client.o): In function mysql_real_connect’:
client.o(.text+0x1406): undefined reference to socket' client.o(.text+0x15a0): undefined reference to socket’
/usr/local/mysql/lib/libmysqlclient.a(viosocket.o): In function vio_fastsend': viosocket.o(.text+0xf0): undefined reference to setsockopt’
viosocket.o(.text+0x112): undefined reference to setsockopt' /usr/local/mysql/lib/libmysqlclient.a(viosocket.o): In function vio_keepalive’:
viosocket.o(.text+0x161): undefined reference to setsockopt' /usr/local/mysql/lib/libmysqlclient.a(viosocket.o): In function vio_close’:
viosocket.o(.text+0x1ab): undefined reference to shutdown' /usr/local/mysql/lib/libmysqlclient.a(viosocket.o): In function vio_peer_addr’:
viosocket.o(.text+0x24d): undefined reference to getpeername' /usr/local/mysql/lib/libmysqlclient.a(libmysql.o): In function mysql_server_init’:
libmysql.o(.text+0x5e): undefined reference to getservbyname' /usr/local/mysql/lib/libmysqlclient.a(password.o): In function scramble_323’:
password.o(.text+0x1d7): undefined reference to floor' password.o(.text+0x22e): undefined reference to floor’
/usr/local/mysql/lib/libmysqlclient.a(password.o): In function check_scramble_323': password.o(.text+0x2d3): undefined reference to floor’
password.o(.text+0x337): undefined reference to floor' /usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function my_compress_alloc’:
my_compress.o(.text+0xb0): undefined reference to compress' /usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function my_uncompress’:
my_compress.o(.text+0x121): undefined reference to uncompress' /usr/local/mysql/lib/libmysqlclient.a(my_net.o): In function my_inet_ntoa’:
my_net.o(.text+0x11): undefined reference to inet_ntoa' /usr/local/mysql/lib/libmysqlclient.a(my_gethostbyname.o): In function my_gethostbyname_r’:
my_gethostbyname.o(.text+0x11): undefined reference to gethostbyname' my_gethostbyname.o(.text+0x18): undefined reference to h_errno’
/usr/local/mysql/lib/libmysqlclient.a(strtod.o): In function my_strtod': strtod.o(.text+0x1f1): undefined reference to isinf’
collect2: ld returned 1 exit status

I have the folder mysql at /usr/local/mysql

Any idea? thks

try this:

gcc -o connect connect.o -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient [color=red] -lsocket -lm

Thanks for your reply.
I tried $ gcc -o connect connect.o -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient -lsocket -lm but I still have this error:

$ gcc -o connect connect.o -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient -lsocket -lm
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function my_compress_alloc': my_compress.o(.text+0xb0): undefined reference to compress’
/usr/local/mysql/lib/libmysqlclient.a(my_compress.o): In function my_uncompress': my_compress.o(.text+0x121): undefined reference to uncompress’
collect2: ld returned 1 exit status

I think it’s something with the library lmysqlclient…

add -lz

It worked!
Thanks