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.