4.7.1 mysql_config-编译 Client 端的显示选项
mysql_config为您提供有关编译 MySQLClient 端并将其连接到 MySQL 的有用信息。它是一个 Shell 脚本,因此仅在 Unix 和类似 Unix 的系统上可用。
Note
从 MySQL 5.7.9 开始,可以使用 pkg-config 代替mysql_config以获得信息,例如编译 MySQL 应用程序所需的编译器标志或链接库。有关更多信息,请参见第 27.7.3.2 节“使用 pkg-config 构建 C APIClient 端程序”。
Note
从 MySQL 5.7.4 开始,对于 Solaris 的二进制发行版,mysql_config不提供用于与嵌入式库链接的参数。要获取嵌入式库的链接参数,请改用 mysql_server_config 脚本。
mysql_config支持以下选项。
C 编译器标志,用于查找包含文件和关键编译器标志,并定义在编译libmysqlclient
库时使用的标志。返回的选项与创建库时使用的特定编译器相关,并且可能与您自己的编译器的设置冲突。使用--includetable 示仅包含路径的可移植选项。
类似于--cflags,但适用于 C 编译器标志。
查找 MySQL 包含文件的编译器选项。
与 MySQL 嵌入式服务器libmysqld
链接所需的库和选项。
Note
从 MySQL 5.7.19 开始不推荐使用libmysqld
嵌入式服务器库,并且已在 MySQL 8.0 中将其删除。
与 MySQLClient 端库链接所需的库和选项。
与线程安全的 MySQLClient 端库链接所需的库和选项。在 MySQL 5.7 中,所有 Client 端库都是线程安全的,因此不需要使用此选项。 --libs选项可在所有情况下使用。
默认的插件目录路径名,在配置 MySQL 时定义。
配置 MySQL 时定义的默认 TCP/IP 端口号。
默认的 Unix 套接字文件,在配置 MySQL 时定义。
显示命名配置变量的值。允许的var_name
*值为pkgincludedir
(头文件目录),pkglibdir
(库目录)和plugindir
(插件目录)。
MySQL 发行版的版本号。
如果您不带任何选项调用mysql_config,它将显示它支持的所有选项及其值的列 table:
shell> 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.7.9]
--libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld
-lpthread -lm -lrt -lssl -lcrypto -ldl -lcrypt]
--variable=VAR VAR is one of:
pkgincludedir [/usr/local/mysql/include]
pkglibdir [/usr/local/mysql/lib]
plugindir [/usr/local/mysql/lib/plugin]
您可以在命令行中使用反引号使用mysql_config来包含它为特定选项生成的输出。例如,要编译和链接 MySQLClient 端程序,请使用mysql_config,如下所示:
gcc -c `mysql_config --cflags` progname.c
gcc -o progname progname.o `mysql_config --libs`