Установка драйвера MySQL для Qt 5.12.2 Windows

127
30 апреля 2021, 03:40

Имеется Qt 5.12.2 на Win10(1903)x64. нужно поставить драйвер для MySQL. при этом в директории нужного мне компилятора творится вот такая вот ситуация.

Я предполагаю, что драйвер нужно собрать и поставил mysql 8.0 как этого требует оф. инструкция, но при попытке qmake мне в ответ вываливается сообщение

D:\Qt\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH += C:\Program Files\MySQL\MySQL Connector C 6.1\include" "LIBS+= C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib" mysql.pro
Cannot read D:/Qt/5.12.2/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library 'mysql' is not defined.
D:\Qt\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake -- MYSQL_INCDIR=C:/MySQL/include "MYSQL_LIBDIR=C:/MYSQL/MySQL Server 8.0/lib/opt"
Cannot read D:/Qt/5.12.2/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory 
Project ERROR: Library 'mysql' is not defined.

Как с этим бороться и как заставить MySQL работать в проектах?

Answer 1

Допустим, у меня база данных MySQL установлена в директорию D:/mysql, а Qt в директории D:\Qt

  1. Запустите консоль с настроенным окружением для Qt

  1. Смените директорию на D:\Qt\Qt5.11.2\5.11.2\Src\qtbase\src\plugins\sqldrivers

  1. Выполните команду qmake -- MYSQL_INCDIR=D:/mysql/include "MYSQL_LIBDIR=D:/mysql/lib"

  2. Выполните команду mingw32-make

  3. Результат компиляции (новые драйвера) можно найти в директории D:\Qt\Qt5.11.2\5.11.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers

  4. Скопируйте новые драйвера в папку D:\Qt\Qt5.11.2\5.11.2\mingw53_32\plugins\sqldrivers

  5. Скопируйте файлы libmysql.dll и libmysqld.dll из директории D:\mysql\lib в директорию D:\Qt\Qt5.11.2\5.11.2\mingw53_32\bin

После проделанной работы, можете запускать свои проекты, которые используют соединение с базой данных MySQL.

Answer 2

Спасибо. Заработало. Фраза "с настроенным окружением для Qt" должна быть понята так: в QT Creator посмотреть, где реально расположен компилятор g++.exe (Инструменты - Параметры - Комплекты - Компиляторы - поле внизу - Путь к компилятору) - именно этот путь нужно прописать в path (я разместил его в системных). mysql взял здесь https://downloads.mysql.com/archives/community/?version=5.6.23 - вторая кнопка - мне нужна было старенькая версия.

READ ALSO
Как подружить Gulp и его browser-sync с PHP?

Как подружить Gulp и его browser-sync с PHP?

Как подружить Gulp и его browser-sync с PHP? ЧТО НАДО ПОМЕНЯТЬ В gulpfilejs чтобы он обновлял страницу при изменении php

197
Получить статус link в Mikrotik через api в php

Получить статус link в Mikrotik через api в php

Узнать статус в интерфейсе ethernet определенного портаЧерез терминал в Mikrotik это возможно через команду interface ethernet monitor ether1, терминал выведет...

78
Удалить повторяющийся элемент в другом массиве

Удалить повторяющийся элемент в другом массиве

так выглядит массив каждого пользователяУ каждого пользователя есть массив , в котором записана строка JSON и надо , чтоб , если в где то какой...

90
PHP скрипты запускаются через 4 минуты от запуска машины

PHP скрипты запускаются через 4 минуты от запуска машины

Всё стояло на PHP 5, запускается машина, CRON запускает скриптыУстановил PHP 7

87