I have both the standard and source mysql, and I am attempting a link with a
simple program that calles mysql_server_init and mysql_server_end.
I have tried various library call outs to find these two calls in both the
standard and source mysql directories.
I have not located these in any of the .a libraries, but did find them in the
mysql.o
I have these files in the standard mysql lib, and put my program right in the
directory, and specified every file directly, with -l, set up the -L using
the reports from mysql_config (which didn't exactly call out the proper
dirictories). The only time of found the routines was when linking to
mysql.o directly.
So something is wrong with my set up
This command file:
ls
pwd
CFLAG='-v -H'
LFLAG='-L/usr/local/mysql/lib'
IFLAG=-I/usr/local/mysql/include
AFILES='libz.so libmygcc.a libmysqld.a libmysqlclient.a'
gcc $IFLAG $AFILES $LFLAG $1
Yields this result:
embedded.c libdbug.a libmysql.o libmysqlclient_r.a libmystrings.a
libz.so
hash.o libmygcc.a libmysqlclient.a libmysqld.a libmysys.a
temp
/root/downloads/mysql/lib
/tmp/ccWL6K7x.o: In function `main':
/tmp/ccWL6K7x.o(.text+0x20): undefined reference to `mysql_server_init'
/tmp/ccWL6K7x.o(.text+0x28): undefined reference to `mysql_server_end'
collect2: ld returned 1 exit status
| Thread |
|---|
| • Big time newbie question on embedded linking | Matt Young | 15 Oct |