mysql_config 提供了编译 MySQL 客户端并将其连接到 MySQL 的有用信息。它是一个 shell 脚本,因此仅在 Unix 和 Unix-like 系统上可用。
pkg-config 可以用作 mysql_config 的替代方案,以获取编译 MySQL 应用程序所需的信息,例如编译器标志或链接库。有关更多信息,请参阅 使用 pkg-config 构建 C API 客户端程序。
mysql_config 支持以下选项。
-
C 编译器标志,以查找包含文件和编译
libmysqlclient
库时使用的关键编译器标志和定义。返回的选项与创建库时使用的编译器相关,可能与您的编译器设置冲突。使用--include
获取更可移植的选项,仅包含包含路径。 -
与
--cflags
相似,但用于 C++ 编译器标志。 -
编译器选项,以查找 MySQL 包含文件。
-
与 MySQL 客户端库链接所需的库和选项。
-
与线程安全的 MySQL 客户端库链接所需的库和选项。在 MySQL 8.3 中,所有客户端库都是线程安全的,因此不需要使用该选项。
--libs
选项可以在所有情况下使用。 -
配置 MySQL 时定义的默认插件目录路径名。
-
配置 MySQL 时定义的默认 TCP/IP 端口号。
-
配置 MySQL 时定义的默认 Unix 套接字文件。
-
显示命名配置变量的值。允许的
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`