![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
В этой главе описываются, как установить Connector/C++, используя исходные
тексты или копию исходного хранилища Git. Чтобы установить Connector/C++ из исходных текстов,
следующие системные требования должны быть удовлетворены: У вас должен быть кросс-платформенный инструмент
CMake (3.0 или выше). У вас должен быть компилятор C++, который поддерживает C++ 11. Чтобы собрать Connector/C++ из исходных текстов, библиотека клиента MySQL
C API может потребоваться: Сборка соединителя JDBC требует библиотеки клиента
от MySQL 8.0 (8.0.11 или выше) или MySQL 5.7 (5.7.9 или выше).
Это происходит, когда Connector/C++ формируется с опцией
Для Connector/C++ без соединителя JDBC, библиотека
клиента не требуется. Как правило, библиотека клиента MySQL устанавливается, когда MySQL
устанавливается. Однако проверьте свою документацию по операционной системе
на другие опции инсталляции. Чтобы определить, где найти библиотеку клиента, установите
Чтобы собрать Connector/C++ библиотеки Boost C++ необходимы, только если
вы компилируете legacy JDBC API или если версия библиотеки стандарта C++ в
вашей системе не осуществляет конвертер UTF8
( Если библиотеки Boost C++ необходимы, Boost 1.59.0 или выше
должен быть установлен. Чтобы получить Boost и его инструкции по установке,
посетите официальный сайт Boost
. После установки Boost используйте опцию
Используйте опцию
Для получения дополнительной информации об опции
Чтобы получить исходный текст Connector/C++, посетите
Connector/C++ downloads page. Альтернативно, клонируйте исходное
хранилище Connector/C++ Git. Исходные тексты Connector/C++ упакованы как сжатый файл
tar или архив Zip,
обозначенный здесь как
Дистрибутив, когда распакован, включает файл
Чтобы распаковать сжатый файл tar
, используйте эту команду в намеченном инсталляционном каталоге: После распаковки пакета, соберите его, используя соответствующие
инструкции для вашей платформы далее в этой главе. Чтобы установить из пакета Zip (файл Чтобы клонировать код Connector/C++ из
репозитория исходного кода, расположенного на GitHub в
https://github.com/mysql/mysql-connector-cpp: Эта команда должна создать каталог
Команда git clone
устанавливает источником образ После клонирования хранилища постройте пакет, используя соответствующие
инструкции для вашей платформы далее в этой главе. После операции checkout, чтобы получить исходное дерево, выполняйте
периодически git pull, чтобы
обновить ваши данные до последней версии. Чтобы установить Connector/C++ из исходных текстов, проверьте, что ваша
система удовлетворяет требования, обрисованные в общих чертах в
разделе
4.1. Используйте CMake, чтобы
формировать и построить Connector/C++. Настройка выполняется этой командой,
где Может быть необходимо определить другие варианты в
команде конфигурации. Некоторые примеры: По умолчанию эти инсталляционные места используются: Чтобы определить инсталляционное место явно, используйте опцию
В Windows можно использовать опцию Консультируйтесь с руководством CMake
или Если нужны библиотеки Boost C++, используйте опцию
По умолчанию создаются динамические (общие) библиотеки.
Чтобы построить статические библиотеки, включите опцию
По умолчанию соединитель legacy JDBC не строится. Если вы планируете
построить этот соединитель, дополнительная команда
git
необходима, чтобы выполнить инициализацию подмодуля
(сделайте это в исходном каталоге верхнего уровня): Чтобы включать соединитель JDBC в сборку, включите опцию
Если вы формируете и строите тестовые программы позже, используйте те же
самые опции CMake, как при
сборке Connector/C++ ( Для получения информации о параметрах конфигурации
CMake см.
раздел 4.4
. После формирования Connector/C++ соберите
его, используя эту команду: Опция Если вы определяете Если сборка прошла успешно, она создает библиотеки соединителя в каталоге
сборки. Для Windows ищите библиотеки в подкаталоге с тем же самым именем,
что и значение Если вы строите динамические библиотеки, у них есть эти имена: Если вы строите статические библиотеки, у них есть эти имена: Если вы включили опцию
Если вы строите динамические библиотеки, у них есть эти имена: Если вы строите статические библиотеки, у них есть эти имена: Чтобы установить Connector/C++, используйте эту команду: Чтобы проверить функциональность соединителя, постройте и запустите
одну или больше тестовых программ, включенных в каталог
Предыдущие команды должны создать программы
devapi_test и
xapi_test в каталоге
Перед тестовыми программами гарантируйте, что экземпляр
сервера MySQL с включенным X Plugin.
Самый легкий способ устроить это состоит в том, чтобы использовать скрипт
mysql-test-run.pl из
дистрибутива MySQL. Для MySQL 8.0 X Plugin позволен по умолчанию, поэтому
выполните эту команду в каталоге Для MySQL 5.7 X Plugin должен быть позволеен явно, поэтому добавьте опцию:
Команда должна запустить испытательный экземпляр сервера, слушающий на
порте 13009 вместо стандартного порта (33060) с включенным X Plugin. Теперь можно управлять одной из тестовых программ. Они принимают аргумент
строки подключения, поэтому если сервер был запущен как описано, можно
управлять ими так: Строка подключения принимает доступность учетной записи пользователя
Чтобы проверить jdbc_test,
вам нужен сервер MySQL, но не требуется X Plugin. Кроме того, опции связи
должны быть в форме, определенной API JDBC. Передайте имя пользователя как
второй аргумент. Например: Connector/C++ понимает опции
Таблица 4.1. Параметры конфигурации исходного текста Connector/C++ По умолчанию динамические (общие) библиотеки строятся. Если этот выбор
позволен, статические библиотеки строятся вместо этого. Это внутренний выбор, используемый для создания пакетов Connector/C++.
Это тип сборки:
Инсталляционный каталог документации, относительно
Этот выбор требует включения опции
Инсталляционный каталог заголовков относительно
Инсталляционный каталог библиотеки, относительно
Где установить Connector/C++. Это внутренний выбор, используемый для создания
пакетов, добавлен в Connector/C++ 8.0.12.
Связаться ли с общей библиотекой клиента MySQL. Этот выбор используется
только если отключена
Этот выбор применяется, только если вы строите legacy JDBC
(то есть, только если включена
Компоновать ли статически с библиотекой клиента MySQL. По умолчанию
Этот выбор применяется, только если вы собираете legacy JDBC
(то есть, только если включена опция
Путь к программе mysql_config
. Не в Windows CMake
проверяет, установлена ли опция
Этот выбор применяется, только если вы собираете legacy JDBC
(то есть, только если включена опция
Каталог, где MySQL устанавливается. Этот выбор применяется, только если вы собираете legacy JDBC
(то есть, только если включена опция
Только Windows. Использовать статическую библиотеку времени выполнения
(опция компилятора Каталог установки исходных текстов Boost. Позволить ли произвести документацию Doxygen. С Connector/C++ 8.0.16
этот выбор также строит документацию Doxygen для цели
Построить ли legacy JDBC. Этот выбор отключен по умолчанию.
Если это позволено, приложения Connector/C++ 8.0 могут использовать
legacy JDBC API, аналогично Connector/C++ 1.1.
Этот выбор определяет, которую библиотеку SSL использовать, собирая
Connector/C++. Значение выбора указывает на тип поддержки SSL, чтобы включить
или путь к установкн SSL, чтобы использовать: Запуская приложение, которое скомпоновано с динамической библиотекой
соединителя, библиотеки OpenSSL, от которых зависит соединитель, должны быть
правильно найдены, если они размещаются в файловой системе рядом с
библиотекой соединителя. Приложение должно также работать, когда библиотеки
OpenSSL устанавливаются в стандартных местах в масштабе всей системы.
Это предполагает, что версия OpenSSL ожидаема Connector/C++. Сжатые файлы tar или
Zip для Windows, Linux и macOS должны содержать необходимые библиотеки
OpenSSL в том же самом месте, как библиотека соединителя. За исключением Windows, должно быть возможно запустить приложение,
скомпонованное с динамической библиотекой соединителя, когда библиотека
соединителя и библиотеки OpenSSL размещаются в нестандартном месте, при
условии, что эти места были сохранены как пути во время выполнения, создавая
приложение (опция gcc
В Windows может быть запущено приложение, которое скомпоновано
с разделенной библиотекой соединителя, только если библиотека соединителя и
библиотеки OpenSSL сохранены: В системной папке Windows. В той же самой папке, где приложение. В папке, перечисленной в Если приложение скомпоновано со статической библиотекой соединителя,
остается верным, что необходимые библиотеки OpenSSL должны быть найдены в
одном из предыдущих мест. Определение пути для установки OpenSSL может быть предпочтительнее
использования значения
Глава 4. Установка Connector/C++ из исходных текстов
4.1. Инсталляционные системные предпосылки
Инструменты для сборки
MySQL Client Library
WITH_JDBC
для
CMake, чтобы
включить соединитель JDBC.MYSQL_DIR
в
CMake
соответственно во время конфигурации по мере необходимости (см.
раздел 4.4
).
Библиотеки Boost C++
codecvt_utf8
).
WITH_BOOST
для
CMake, чтобы
указать, где искать файлы Boost (см.
раздел 4.4
):
cmake [other_options] -DWITH_BOOST=/usr/local/boost_1_59_0
Поддержка SSL
WITH_SSL
в
CMake, чтобы определить,
которую библиотеку SSL использовать, собирая Connector/C++. OpenSSL 1.0.x
или выше требуется. С Connector/C++ 8.0.18 возможно собрать с OpenSSL 1.1.
WITH_SSL
и библиотеках SSL, посмотрите
раздел 4.4
.
4.2. Получение и распаковка исходного текста Connector/C++
или
PACKAGE
.tar.gz
. Исходные тексты в файле tar
или Zip могут использоваться на любой поддерживаемой платформе.PACKAGE
.zip
INFO_SRC
,
который предоставляет информацию о версии продукта и исходном хранилище, из
которого был произведен. Пакет также включает другие файлы документации,
такие как перечисленные в главе 3.
tar zxvf
PACKAGE
.tar.gz
.zip
),
используйте WinZip
или другой инструмент, который может читать файлы
.zip
, чтобы распаковать файл в место по вашему
выбору. После распаковки пакета соберите его, используя соответствующие
инструкции для вашей платформы далее в этой главе.
git clone https://github.com/mysql/mysql-connector-cpp.git
mysql-connector-cpp
, содержащий копию всего
исходного дерева Connector/C++.master
,
который содержит последние исходные тексты. Опубликованный код находится в
образе 8.0
(образ
8.0
содержит те же самые исходные тексты, что и
master
). Если необходимо, используйте
git checkout в исходном
каталоге, чтобы выбрать желаемый образ.
Например, чтобы построить Connector/C++ 8.0:
cd mysql-connector-cpp
git checkout 8.0
4.3. Установка Connector/C++ из исходных текстов
Настройка Connector/C++
concpp_source
это каталог,
содержащий исходный код Connector/C++:
cmake
concpp_source
/usr/local/mysql/connector-c++-8.0
(Unix-системы).
(Windows).User_home
/MySQL/"MySQL Connector C++ 8.0"
CMAKE_INSTALL_PREFIX
:
-DCMAKE_INSTALL_PREFIX=
path_name
-G
,
чтобы выбрать конкретный генератор:-G "Visual Studio 14 2015 Win64"
(сборки 64-bit).-G "Visual Studio 14 2015"
(сборки 32-bit).cmake --help
, чтобы
узнать, какие генераторы поддерживаются вашей версией
CMake.
Однако может случиться так, что ваша версия
CMake поддерживает больше
генераторов, чем можно на самом деле использовать,
чтобы построить Connector/C++.WITH_BOOST
,
чтобы определить их местоположение:
-DWITH_BOOST=
path_name
BUILD_STATIC
:
-DBUILD_STATIC=ON
git submodule update --init
WITH_JDBC
:
-DWITH_JDBC=ON
-G
,
WITH_BOOST
,
BUILD_STATIC
и прочие).
Исключения: аргументы пути будут отличаться, и вы не должны определять
CMAKE_INSTALL_PREFIX
.
Сборка Connector/C++
cmake --build . --config
build_type
--config
необязательна.
Это определяет конфигурацию сборки, чтобы использовать, такую как
Release
или Debug
.
Если вы опускаете --config
,
значение по умолчанию Debug
.--config
, определите то же
самое значение --config
для более поздних шагов,
таких как шаги, которые устанавливают Connector/C++
или строят тестовые программы.build_type
опции
--config
.libmysqlcppconn8.so.1
(Unix).
libmysqlcppconn8.1.dylib
(macOS).
mysqlcppconn8-1-vs14.dll
(Windows).
libmysqlcppconn8-static.a
(Unix,
macOS).mysqlcppconn8-static.lib
(Windows).
WITH_JDBC
, чтобы включить соединитель JDBC, следующие дополнительные
файлы библиотеки создаются.libmysqlcppconn.so.7
(Unix).
libmysqlcppconn.7.dylib
(macOS).
mysqlcppconn-7-vs14.dll
(Windows).
libmysqlcppconn-static.a
(Unix,
macOS).mysqlcppconn-static.lib
(Windows).
Установка Connector/C++
cmake --build . --target install --config build_type
Подтверждение функциональности Connector/C++
testapp
. Создайте тестовый каталог и
перейдите в него. Тогда дайте следующие команды:
cmake [other_options] -DWITH_CONCPP=concpp_install concpp_source/testapp
cmake --build . --config=
build_type
WITH_CONCPP
используется только, чтобы
формировать тестовое приложение. other_options
состоит из опций, с которыми вы раньше формировали сам
Connector/C++ (-G
,
WITH_BOOST
,
BUILD_STATIC
и т.д.).
concpp_source
это каталог,
содержащий исходный код Connector/C++,
concpp_install
это каталог, где устанавливается Connector/C++:
run
. Если вы включили
WITH_JDBC
формируя тестовые программы, также создается программа
jdbc_test.mysql-test
:
perl mysql-test-run.pl --start-and-exit
perl mysql-test-run.pl --start-and-exit --mysqld=--plugin-load=mysqlx
run/devapi_test mysqlx://root@127.0.0.1:13009
run/xapi_test mysqlx://root@127.0.0.1:13009
root
без любого пароля и программа предполагает,
что есть схема test
.
run/jdbc_test tcp://127.0.0.1:13009 root
4.4. Параметры конфигурации исходного текста Connector/C++
CMake
,
которые описаны в этой секции.
Форматы
Описание
Значение по умолчанию
Пояснение
BUILD_STATIC
Построить ли статические библиотеки
OFF
BUNDLE_DEPENDENCIES
Связать ли внешние библиотеки зависимости с соединителем
OFF
CMAKE_BUILD_TYPE
Тип выполняемой сборки
Debug
CMAKE_INSTALL_DOCDIR
Инсталляционный каталог документации 8.0.14
CMAKE_INSTALL_INCLUDEDIR
Инсталляционный каталог заголовочных файлов
8.0.14
CMAKE_INSTALL_LIBDIR
Инсталляционный каталог библиотек 8.0.14
CMAKE_INSTALL_PREFIX
Основной каталог установки
/usr/local
MAINTAINER_MODE
Только для внутреннего использования
OFF
8.0.12
MYSQLCLIENT_STATIC_BINDING
Компоновать ли с общей библиотекой клиента MySQL
ON
8.0.16
MYSQLCLIENT_STATIC_LINKING
Компоновать ли статически с библиотекой клиента MySQL
ON
8.0.16
MYSQL_CONFIG_EXECUTABLE
Путь к программе mysql_config
${MYSQL_DIR}/bin/mysql_config
MYSQL_DIR
Каталог установки MySQL Server
STATIC_MSVCRT
Использовать статическую библиотеку времени выполнения
WITH_BOOST
Каталог исходных текстов Boost
WITH_DOC
Произвести ли документацию Doxygen
OFF
WITH_JDBC
Построить ли библиотеку legacy JDBC
OFF
8.0.7
WITH_SSL
Тип поддержки SSL
system
8.0.7
Debug
: Отключить оптимизацию и
произвести отладочную информацию. Это умолчание.Release
: Включить оптимизацию.RelWithDebInfo
: Включить оптимизацию и
произвести отладочную информацию.-DCMAKE_INSTALL_DOCDIR=
dir_name
CMAKE_INSTALL_PREFIX
. Если не определен, то установить в
CMAKE_INSTALL_PREFIX
.WITH_DOC
. Этот выбор был добавлен в Connector/C++ 8.0.14.-DCMAKE_INSTALL_INCLUDEDIR=
dir_name
CMAKE_INSTALL_PREFIX
. Если не определен, установить в
include
.
Этот выбор был добавлен в Connector/C++ 8.0.14.-DCMAKE_INSTALL_LIBDIR=
dir_name
CMAKE_INSTALL_PREFIX
. Если не определен, установить в
lib64
или lib
.
Этот выбор был добавлен в Connector/C++ 8.0.14.-DCMAKE_INSTALL_PREFIX=
dir_name
-DMYSQLCLIENT_STATIC_BINDING=
bool
MYSQLCLIENT_STATIC_LINKING
,
чтобы позволить динамическое подключение библиотеки клиента MySQL.
В этом случае, если включена
MYSQLCLIENT_STATIC_BINDING
(по умолчанию),
Connector/C++ компонуется с общей библиотекой клиента MySQL.
Иначе общая библиотека клиента MySQL загружена и отображена
во время выполнения.WITH_JDBC
). Это было добавлено в Connector/C++ 8.0.16.-DMYSQLCLIENT_STATIC_LINKING=
bool
ON
(используйте статическую компоновку с
библиотекой клиента). Выключение этого выбора позволяет динамическую
компоновку с библиотекой клиента.WITH_JDBC
). Это было добавлено в Connector/C++ 8.0.16.-DMYSQL_CONFIG_EXECUTABLE=
file_name
MYSQL_CONFIG_EXECUTABLE
.
Если нет, CMake
пытается определить местонахождение
mysql_config
в местах по умолчанию.WITH_JDBC
).WITH_JDBC
)./MT*
).
Этот выбор мог бы быть необходимым, если код, который использует
Connector/C++, также пользуется статической библиотекой времени выполнения.
all
.-DWITH_SSL={
|
ssl_type
path_name
}ssl_type
может быть
одним из следующих:system
:
Используйте системную библиотеку OpenSSL.-rpath
).PATH
.
path_name
это
путь к установке SSL, чтобы использовать. Это должно быть путем к
установленной библиотеке OpenSSL и должно указать на каталог, содержащий
подкаталог lib
с библиотеками OpenSSL.ssl_type
=
system
потому, что это может препятствовать
тому, чтобы CMake обнаружил и
использовал более старую или неправильную версию
OpenSSL, установленную в системе.
Найди своих коллег! |
Вы можете
направить письмо администратору этой странички, Алексею Паутову.