25.1.2. Compiling Programs with libmysqld
To get a libmysqld
library you should
configure MySQL with the --with-embedded-server
option. See Section 2.8.2, “Typical configure Options”.
When you link your program with libmysqld
,
you must also include the system-specific
pthread
libraries and some libraries that the
MySQL server uses. You can get the full list of libraries by
executing mysql_config --libmysqld-libs.
The correct flags for compiling and linking a threaded program
must be used, even if you do not directly call any thread
functions in your code.
To compile a C program to include the necessary files to embed
the MySQL server library into a compiled version of a program,
use the GNU C compiler (gcc
). The compiler
will need to know where to find various files and need
instructions on how to compile the program. The following
example shows how a program could be compiled from the command
line:
gcc mysql_test.c -o mysql_test -lz \
`/usr/local/mysql/bin/mysql_config --include --libmysqld-libs`
Immediately following the gcc
command is the
name of the uncompiled C program file. After it, the
-o
option is given to indicate that the file
name that follows is the name that the compiler is to give to
the output file, the compiled program. The next line of code
tells the compiler to obtain the location of the include files
and libraries and other settings for the system on which it's
compiled. Because of a problem with
mysql_config, the option -lz
(for compression) is added here. The
mysql_config piece is contained in backticks,
not single quotes.