Последнее обновление:
August 16, 2020

Есть мысль... Жми, напиши!
Что имеем: Постов : 140 Авторов: 1 Категорий: 22

Компиляция MySQL 8.0 для Qt5 на Windows (x32/x64)

В коробке QtCreator идёт без дров для MySQL  пичалька…

Для начала необходимо скачать MySQL http://dev.mysql.com/downloads/mysql/ ,

Обновил для MySQL 8.0 и Qt5.14 (c 5.12 не соберётся!)

Важно: MysqlServer есть только под x64 архитектуру, поэтому Ваши проекты так же должны собираться компилятором под x64, поэтому не забудьте доставить MinGW x64 с помощью MaintenanceTool.exe из папки с Qt.
Так же при установке Qt нужно, что бы была отмечена установка исходников! Если устанавливали без Sources, то через MaintenanceTool.exe можете доставить.
Только обязательно той же версии!
MySQL используется версии 8.0.20, установщик назывался: mysql-installer-community-8.0.20.0.msi
При установке отметил следующее:

Пришлось делать полную установку с сервером, т.к. нужных заголовочников (mysql.h) отдельно в Коннекторе нет.

Дальше всё должно быть просто:

1. Открываем консольку, необходимо добавить в системную переменную Path пути к Qt:

set PATH=C:\Qt\5.4\mingw491_32\bin;%PATH% (Там, где лежит qmake.exe)
set PATH=C:\Qt\Tools\mingw491_32\bin;%PATH% (там, где лежит mingw32-make.exe)

Дальше вбиваем:

cd C:\Qt\5.14\Src\qtbase\src\plugins\sqldrivers\mysql
qmake.exe -o MakeFile "INCLUDEPATH+=\"C:/Program Files/MySQL/MySQL Server 8.0/include\"" "LIBS+=\"C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib\"" "LIBS+=-L\"C:/Program Files/MySQL/MySQL Server 8.0/lib"" mysql.pro
mingw32-make -f MakeFile.release
Если будет ругаться «Cannot read qtsqldrivers-config.pri»,
то в файле «qsqldriverbase.pri», который в диектории уровнем выше,
закомментируйте:
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
Когда ругнётся на «Project ERROR: Library mysql is not defined»,
то в «mysql.pro» закомментируйте:
#QMAKE_USE += mysql

Только пути не забудьте на свои заменить.
По идее в каталоге sqldrivers\plugins\sqldrivers должен появится файл:

qsqlmysql.dll

КЭП подсказывает, что это и есть то, что нужно.
Его нужно будет скопировать вручную в папку «Qt/5.14/mingw730_64/plugins/sqldrivers«
Или прописать «mingw32-make install -f MakeFile.release«, но могут быть проблемы с правами доступа.

Так же надо бы скопировать  libmySQL.dll, libssl-1_1-x64.dll и libcrypto-1_1-x64.dll  (из папки C:/Program Files/MySQL/MySQL Server 8.0/lib) в папку C:/windows, либо таскать рядом с exe шником, либо добавить путь в PATH.

Должно быть всё ок.

Happy End.

Views :

7607

Qulitech 9G530 и другие…. запись для вопросов

Весь материал перемещен на СТАНКОФОРУМ

Views :

934