Spec-Zone .ru
спецификации, руководства, описания, API
|
В предварительно скомпилированных двоичных дистрибутивах MySQL, которые включают libmysqld
, встроенная библиотека сервера, MySQL создает библиотеку, используя
соответствующий компилятор поставщика, если есть тот.
Получить a libmysqld
библиотека, если Вы создаете MySQL из источника
самостоятельно, следует сконфигурировать MySQL с -DWITH_EMBEDDED_SERVER=1
опция. См. Раздел
2.9.4, "MySQL Source-Configuration Options".
Когда Вы соединяете свою программу с libmysqld
, следует также включать специфичное
для системы pthread
библиотеки и некоторые библиотеки, которыми пользуется сервер
MySQL. Можно добраться, полный список библиотек, выполняясь mysql_config - libmysqld-освобождает.
Корректные флаги для компиляции и соединения поточной программы должны использоваться, даже если Вы непосредственно не вызываете функций потока в своем коде.
Чтобы скомпилировать программу C, чтобы включать необходимые файлы, чтобы встроить библиотеку сервера MySQL в выполняемую версию программы, компилятор должен будет знать, где найти различные файлы и инструкции потребности по тому, как скомпилировать программу. Следующий пример показывает, как программа могла быть скомпилирована из командной строки, предполагая, что Вы используете gcc, используйте GNU C компилятор:
gcc mysql_test.c -o mysql_test \`/usr/local/mysql/bin/mysql_config --include --libmysqld-libs`
Сразу после gcc команды имя исходного файла программы C. После
этого, -o
опция дается, чтобы указать, что имя файла, которое следует, является
именем, которое компилятор должен дать выходному файлу, скомпилированной программе. Следующая строка кода
говорит компилятору получать расположение включать файлов и библиотек и других настроек для системы, на которой
это компилируется. mysql_config
команда содержится в обратных галочках, не единственных кавычках.
На некоторых non-gcc платформах встроенная библиотека зависит от библиотек времени выполнения C++, и соединение против встроенной библиотеки могло бы привести к ошибкам недостающего символа. Решить это, ссылка, используя компилятор C++ или явно перечислить необходимые библиотеки по командной строке ссылки.