Глава 2 Реализации MySQL C API
MySQL C API — это API на C, который приложения-клиенты, написанные на C, могут использовать для взаимодействия с MySQL Server. Клиентские программы ссылаются на заголовочные файлы C API во время компиляции и связываются с файлом библиотеки C API, libmysqlclient, во время компоновки.
Для получения заголовочных файлов C API и файлов библиотек, необходимых для построения клиентских программ C API, установите дистрибутив MySQL Server.
Вы можете установить двоичный дистрибутив, содержащий предварительно скомпонованные файлы C API, или использовать исходный дистрибутив MySQL Server и самостоятельно скомпилировать файлы C API. Компиляция MySQL Server также компилирует libmysqlclient; см. . Она не может быть скомпилирована отдельно, но её конфигурация связана с опциональным параметром CMake.
Имена файлов библиотек, которые следует использовать при компоновке приложений-клиентов C API, зависят от типа библиотеки и платформы, для которой построен дистрибутив:
В системах Unix (и системах, аналогичных Unix), статическая библиотека —
libmysqlclient.a. Динамическая библиотека —libmysqlclient.soв большинстве систем Unix иlibmysqlclient.dylibв macOS.-
В Windows статическая библиотека —
mysqlclient.lib, а динамическая библиотека —libmysql.dll. Дистрибутивы Windows также включаютlibmysql.lib— статическую библиотеку импорта, необходимую для использования динамической библиотеки.Дистрибутивы Windows также включают набор библиотек отладки. У них такие же имена, как у библиотек без отладки, но они находятся в библиотеке
lib/debug. Вы должны использовать библиотеки отладки при компиляции клиентов, скомпилированных с использованием отладочной версии C-runtime.
В Unix также могут встречаться библиотеки, в названиях которых включено _r. До MySQL 5.5 они создавались как потокобезопасные (перевходовые) библиотеки отдельно от библиотек без _r. Начиная с версии 5.5, обе библиотеки идентичны, а имена с _r — это символические ссылки на соответствующие имена без _r. Нет необходимости использовать библиотеки с _r. Например, если вы используете mysql_config для получения флагов компоновщика, вы можете использовать mysql_config --libs во всех случаях, даже для потоковых клиентов. Нет необходимости использовать mysql_config --libs_r.
© 2025 Oracle
Licensed under the GPLv2 License.