(mysql.info) link-errors
情報カタログ
(mysql.info) installation-issues
(mysql.info) installation-issues
(mysql.info) file-permissions
A.3.1 Problems Linking to the MySQL Client Library
--------------------------------------------------
When you are linking an application program to use the MySQL client
library, you might get undefined reference errors for symbols that
start with `mysql_', such as those shown here:
/tmp/ccFKsdPa.o: In function `main':
/tmp/ccFKsdPa.o(.text+0xb): undefined reference to `mysql_init'
/tmp/ccFKsdPa.o(.text+0x31): undefined reference to `mysql_real_connect'
/tmp/ccFKsdPa.o(.text+0x57): undefined reference to `mysql_real_connect'
/tmp/ccFKsdPa.o(.text+0x69): undefined reference to `mysql_error'
/tmp/ccFKsdPa.o(.text+0x9a): undefined reference to `mysql_close'
You should be able to solve this problem by adding `-Ldir_path
-lmysqlclient' at the end of your link command, where `dir_path'
represents the pathname of the directory where the client library is
located. To determine the correct directory, try this command:
shell> mysql_config --libs
The output from `mysql_config' might indicate other libraries that
should be specified on the link command as well.
If you get `undefined reference' errors for the `uncompress' or
`compress' function, add `-lz' to the end of your link command and try
again.
If you get `undefined reference' errors for a function that should
exist on your system, such as `connect', check the manual page for the
function in question to determine which libraries you should add to the
link command.
You might get `undefined reference' errors such as the following for
functions that don't exist on your system:
mf_format.o(.text+0x201): undefined reference to `__lxstat'
This usually means that your MySQL client library was compiled on a
system that is not 100% compatible with yours. In this case, you should
download the latest MySQL source distribution and compile MySQL
yourself. See installing-source.
You might get undefined reference errors at runtime when you try to
execute a MySQL program. If these errors specify symbols that start
with `mysql_' or indicate that the `mysqlclient' library can't be
found, it means that your system can't find the shared
`libmysqlclient.so' library. The fix for this is to tell your system to
search for shared libraries where the library is located. Use whichever
of the following methods is appropriate for your system:
* Add the path to the directory where `libmysqlclient.so' is located
to the `LD_LIBRARY_PATH' environment variable.
* Add the path to the directory where `libmysqlclient.so' is located
to the `LD_LIBRARY' environment variable.
* Copy `libmysqlclient.so' to some directory that is searched by
your system, such as `/lib', and update the shared library
information by executing `ldconfig'.
Another way to solve this problem is by linking your program statically
with the `-static' option, or by removing the dynamic MySQL libraries
before linking your code. Before trying the second method, you should
be sure that no other programs are using the dynamic libraries.
情報カタログ
(mysql.info) installation-issues
(mysql.info) installation-issues
(mysql.info) file-permissions
より自動的に生成されましたinfo2html