MySQL 发行版包含一个mysqlclient.pc
文件,该文件提供有关供pkg-config命令使用的 MySQL 配置的信息。这使得
pkg-config可以用作
mysql_config的替代品,以获取编译 MySQL 应用程序所需的编译器标志或链接库等信息。例如,下面的命令对是等价的:
mysql_config --cflags
pkg-config --cflags mysqlclient
mysql_config --libs
pkg-config --libs mysqlclient
最后一个pkg-config命令生成动态链接的标志。要为静态链接生成标志,请使用以下命令:
pkg-config --static --libs mysqlclient
在某些平台上,使用和不使用的输出
--static
可能相同。
如果pkg-config没有找到 MySQL 信息,可能需要将
PKG_CONFIG_PATH
环境变量设置为mysqlclient.pc
文件所在的目录,默认情况下通常是
pkgconfig
MySQL 库目录下的目录。例如(适当调整位置):
# For sh, bash, ...
export PKG_CONFIG_PATH=/usr/local/mysql/lib/pkgconfig
# For csh, tcsh, ...
setenv PKG_CONFIG_PATH /usr/local/mysql/lib/pkgconfig
mysqlconfig.pc
可以使用 CMake 选项控制
安装位置。请参阅
MySQL 源配置选项。
INSTALL_PKGCONFIGDIR
该--variable
选项采用配置变量名称并显示变量值:
# installation prefix directory
pkg-config --variable=prefix mysqlclient
# header file directory
pkg-config --variable=includedir mysqlclient
# library directory
pkg-config --variable=libdir mysqlclient
要使用该选项查看pkg-config可以显示
哪些变量值--variable
,请使用以下命令:
pkg-config --print-variables mysqlclient
您可以在命令行中使用pkg-config,使用反引号来包含它为特定选项生成的输出。例如,要编译和链接一个 MySQL 客户端程序,使用pkg-config如下:
gcc -c `pkg-config --cflags mysqlclient` progname.c
gcc -o progname progname.o `pkg-config --libs mysqlclient`