3.3 Создание приложений-клиентов C API с использованием pkg-config
Дистрибутивы MySQL содержат файл mysqlclient.pc, который предоставляет информацию о конфигурации MySQL для использования командой pkg-config. Это позволяет использовать 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. См. .
Опция --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`
© 2025 Oracle
Licensed under the GPLv2 License.