第25章:API和库 / 25.9. MySQL程序开发实用工具 / 25.9.2. mysql_config:获取编译客户端的编译选项

mysql_config提供了关于编译MySQL客户端以及将其连接到MySQL的有用信息。

mysql_config支持下述选项:

·         --cflags

编译器标志,用于查找包含文件,以及编译libmysqlclient库时所要使用的关键编译器标志和定义。

·         --include

编译器选项,用于查找MySQL包含文件(注意,正常情况下应使用“—cflags”而不是该选项)。

·         --libmysqld-libs, ---embedded

MySQL嵌入式服务器进行链接所需的库和选项。

·         --libs

MySQL客户端库进行链接所需的库和选项。

·         --libs_r

与线程安全MySQL客户端库进行链接所需的库和选项。

·         --port

默认的TCP/IP端口号,配置MySQL时定义。

·         --socket

默认的Unix套接字文件,配置MySQL时定义。

·         --version

版本号以及MySQL分发版的版本。

如果未使用任何选项调用了mysql_config,将显示它所支持的所有选项的列表,以及它们的值:

shell> mysql_config
Usage: /usr/local/mysql/bin/mysql_config [options]
Options:
  --cflags         [-I/usr/local/mysql/include/mysql -mcpu=pentiumpro]
  --include        [-I/usr/local/mysql/include/mysql]
  --libs           [-L/usr/local/mysql/lib/mysql -lmysqlclient -lz
                    -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto]
  --libs_r         [-L/usr/local/mysql/lib/mysql -lmysqlclient_r
                    -lpthread -lz -lcrypt -lnsl -lm -lpthread]
  --socket         [/tmp/mysql.sock]
  --port           [3306]
  --version        [4.0.16]
  --libmysqld-libs [-L/usr/local/mysql/lib/mysql -lmysqld -lpthread -lz
                    -lcrypt -lnsl -lm -lpthread -lrt]

可以在命令行上使用mysql_config,并包含针对特定选项的值。例如,要想编译MySQL客户端程序,可使用mysql_config,如下例所示:

shell> CFG=/usr/local/mysql/bin/mysql_config
shell> sh -c "gcc -o progname `$CFG --cflags` progname.c `$CFG --libs`"

以这种方式使用mysql_config时,务必在字符(`)内调用它。这样,就能通知shell执行它,并将其输出代入到环境命令中。