mysql_config为您提供了编译 MySQL 客户端并将其连接到 MySQL 的有用信息。它是一个 shell 脚本,因此只能在 Unix 和类 Unix 系统上使用。
pkg-config可用作 mysql_config的替代品,用于获取编译器标志或编译 MySQL 应用程序所需的链接库等信息。有关详细信息,请参阅 使用 pkg-config 构建 C API 客户端程序。
mysql_config支持以下选项。
C 编译器标志,用于查找包含文件和关键编译器标志,并定义编译
libmysqlclient
库时使用的。返回的选项与创建库时使用的特定编译器相关,并且可能与您自己的编译器的设置冲突。用于--include
仅包含包含路径的更多可移植选项。像
--cflags
,但用于 C++ 编译器标志。查找 MySQL 包含文件的编译器选项。
与 MySQL 客户端库链接所需的库和选项。
与线程安全的 MySQL 客户端库链接所需的库和选项。在 MySQL 8.0 中,所有客户端库都是线程安全的,因此不需要使用此选项。该
--libs
选项可用于所有情况。默认插件目录路径名,在配置 MySQL 时定义。
默认的 TCP/IP 端口号,在配置 MySQL 时定义。
默认的 Unix 套接字文件,在配置 MySQL 时定义。
显示命名配置变量的值。允许的
var_name
值为pkgincludedir
(头文件目录)、pkglibdir
(库目录)和plugindir
(插件目录)。MySQL 发行版的版本号。
如果不带任何选项调用mysql_config,它会显示它支持的所有选项及其值的列表:
$> mysql_config
Usage: /usr/local/mysql/bin/mysql_config [options]
Options:
--cflags [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
--cxxflags [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
--include [-I/usr/local/mysql/include/mysql]
--libs [-L/usr/local/mysql/lib/mysql -lmysqlclient
-lpthread -lm -lrt -lssl -lcrypto -ldl]
--libs_r [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
-lpthread -lm -lrt -lssl -lcrypto -ldl]
--plugindir [/usr/local/mysql/lib/plugin]
--socket [/tmp/mysql.sock]
--port [3306]
--version [5.8.0-m17]
--variable=VAR VAR is one of:
pkgincludedir [/usr/local/mysql/include]
pkglibdir [/usr/local/mysql/lib]
plugindir [/usr/local/mysql/lib/plugin]
您可以在命令行中使用mysql_config,使用反引号来包含它为特定选项生成的输出。例如,要编译和链接一个 MySQL 客户端程序,使用mysql_config如下:
gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`