Spec-Zone.ru › MySQL Connectors 1.0

4.4 Создание Connector/ODBC из исходного кода в Windows

Вам необходимо создать Connector/ODBC из исходного кода только в Windows, чтобы изменить исходный код или расположение установки. Если вы не уверены, нужно ли устанавливать из исходного кода, используйте бинарную установку, описанную в разделе 4.1, «Установка Connector/ODBC в Windows».

Для создания Connector/ODBC из исходного кода в Windows требуется ряд различных инструментов и пакетов:

  • MDAC, Microsoft Data Access SDK из https://www.microsoft.com/en-in/download/details.aspx?id=21995.

  • Соответствующий компилятор C++, например, Microsoft Visual C++ или компилятор C++ входящий в состав Microsoft Visual Studio 2015 или более поздней версии. Для компиляции Connector/ODBC 5.3 можно использовать VS 2013.

  • CMake.

  • Библиотека и файлы заголовков MySQL клиента из MySQL 8.0 или выше для Connector/ODBC 9.2, или MySQL 5.7 для Connector/ODBC 5.3. Это необходимо, потому что Connector/ODBC использует вызовы и структуры, отсутствующие в более старых версиях библиотеки. Чтобы получить библиотеку клиента и файлы заголовков, посетите https://dev.mysql.com/downloads/.

Шаги сборки

Установите переменные среды для инструментальной цепочки Visual Studio. Visual Studio включает пакетный файл для их установки, а также устанавливает ярлык в меню Пуск, который открывает командную строку с установленными переменными.

Установите MYSQL_DIR в путь установки сервера MySQL, используя короткие имена файлов. Например:

C:\> set MYSQL_DIR=C:\PROGRA~1\MySQL\MYSQLS~1.0

Скомпилируйте Connector/ODBC с помощью инструмента командной строки cmake, выполнив следующую команду в корневой директории исходного кода (в окне командной строки):

C:\> cmake -G "Visual Studio 12 2013"

Это создает файл проекта, который можно открыть в Visual Studio или скомпилировать из командной строки с помощью одной из следующих команд:

C:\> devenv.com MySQL_Connector_ODBC.sln /build Release

При сборке Connector/ODBC из исходного кода динамическая ссылка на библиотеку MySQL клиента выбрана по умолчанию — то есть, опция MYSQLCLIENT_STATIC_LINKING cmake установлена FALSE по умолчанию (однако, бинарные дистрибутивы Connector/ODBC от Oracle скомпилированы со статической ссылкой на библиотеку клиента). Если вы хотите скомпилировать со статической ссылкой на библиотеку MySQL клиента, установите опцию MYSQLCLIENT_STATIC_LINKING в TRUE и используйте опцию MYSQLCLIENT_LIB_NAME для указания имени библиотеки клиента для статической ссылки:

C:\> cmake -G "Visual Studio 12 2013" -DMYSQLCLIENT_STATIC_LINKING:BOOL=TRUE  \
 DMYSQLCLIENT_LIB_NAME=client_lib_name_with_extension
 

Также используйте опцию MYSQLCLIENT_LIB_NAME для динамической ссылки на библиотеку MySQL клиента, отличную от libmysql.dll. cmake ищет библиотеку клиента в расположении, указанном опцией MYSQL_LIB_DIR; если опция не указана, cmake ищет её в стандартных расположениях внутри папки, указанной в опции MYSQL_DIR.

Начиная с Connector/ODBC 8.0.11, используйте BUNDLE_DEPENDENCIES для установки внешних зависимостей времени выполнения библиотеки, таких как OpenSSL, вместе с соединителем. Для зависимостей, унаследованных от библиотеки MySQL клиента, это работает только в том случае, если эти зависимости включены в саму библиотеку клиента.

INFO_SRC: этот файл содержит информацию о версии продукта и репозитории исходного кода, из которого был создан дистрибутив. Добавлено в Connector/ODBC 8.0.14.

Необязательно скомпилировать Connector/ODBC статически (эквивалентно опции /MT в Visual Studio) или динамически (эквивалентно опции /MD в Visual Studio) с Visual C++ runtime. По умолчанию используется динамическая ссылка; если вы хотите использовать статическую ссылку, установите опцию STATIC_MSVCRT:BOOL=TRUE, то есть:

C:\> cmake -G "Visual Studio 12 2013" -DSTATIC_MSVCRT:BOOL=TRUE

Опции STATIC_MSVCRT и MYSQLCLIENT_STATIC_LINKING независимы друг от друга; вы можете скомпилировать Connector/ODBC динамически с Visual C++ runtime, используя статическую ссылку на библиотеку MySQL клиента, и наоборот. Однако, если вы используете динамическую ссылку Connector/ODBC на Visual C++ runtime, вам также необходимо использовать динамическую ссылку библиотеки MySQL клиента на Visual C++ runtime; аналогично, использование статической ссылки Connector/ODBC на Visual C++ runtime требует статической ссылки на библиотеку MySQL клиента на Visual C++ runtime.

Чтобы скомпилировать отладочную сборку, установите тип сборки cmake, чтобы использовать правильные версии библиотек MySQL клиента; также, поскольку библиотека MySQL C-клиента, созданная Oracle, не создается с отладочными опциями, при использовании ссылки на неё при сборке Connector/ODBC в отладочном режиме используйте опцию WITH_NODEFAULTLIB, чтобы указать cmake игнорировать стандартный отладочный runtime C++:

C:\> cmake -G "Visual Studio 14 2015" -DWITH_DEBUG=1  -DWITH_NODEFAULTLIB=libcmt

Затем создайте отладочную сборку с помощью этой команды:

C:\> devenv.com MySQL_Connector_ODBC.sln /build Debug

По завершении исполняемые файлы находятся в подкаталогах bin/ и lib/.

См. раздел 4.1.1, «Установка драйвера Windows Connector/ODBC с использованием архива DLL», чтобы завершить установку, скопировав двоичные файлы в правильные расположения и зарегистрировав Connector/ODBC в менеджере ODBC.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-odbc-en/connector-odbc-installation-source-windows.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API