QMYSQL - драйвер не загружен - PullRequest
       5

QMYSQL - драйвер не загружен

0 голосов
/ 30 сентября 2019

ОС: Windows 10 x64

Я обновил свою версию Qt со 5.10.0 до 5.12.5. У меня были небольшие проблемы с тем, чтобы мои наборы снова заработали, но в итоге я смог создать приложение и создать его. Но как только я запускаю его, журнал «Вывод приложения» сообщает мне «драйвер не загружен». Обычно я исправлял это, помещая libmysql.dll, который мой коллега отправил мне в корневой каталог исполняемого файла. Но теперь (я думаю из-за несоответствия версий) этот метод больше не будет работать.
Я уже почти все попробовал. Я переустановил MySQL, следуя этим инструкциям , я попытался найти .dll, я даже пытался собрать библиотеки MySQL самостоятельно, но ничего из этого не получилось.
Папка plugins\sqldriversвсе мои компиляторы содержат только эти .dll, но не mysql.dll:

enter image description here

Что я делаю не так / Что вы, люди, делализаставить работать MySQL?

1 Ответ

0 голосов
/ 30 сентября 2019

Я тоже использую 5.12.5, но я успешно строю драйвер mysql. Вот что я делаю:

  1. Получите src из Qt
  2. Откройте mysql.pro. В моемпуть к компьютеру: C:\Qt\Qt5.12.5\5.12.5\Src\qtbase\src\plugins\sqldrivers\mysql
  3. Найдите ваш mysql путь, на моем компьютере C:\Program Files\MySQL\MySQL Server 8.0. Поскольку он имеет space, поэтому я копирую include и lib в D:\mysql\
  4. Измените mysql.pro, используя QtCreator
TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

win32:LIBS += -LD:/mysql/lib/ -llibmysql
INCLUDEPATH += D:/mysql/include
DEPENDPATH += D:/mysql/include


include(../qsqldriverbase.pri)

Я изменяю #QMAKE_USE += mysql и добавляю

win32:LIBS += -LD:/mysql/lib/ -llibmysql
INCLUDEPATH += D:/mysql/include
DEPENDPATH += D:/mysql/include

Вы должны изменить win32:LIBSINCLUDEPATH DEPENDPATH на ваш путь.

Я нажимаю Run и получаю window, нажимаю cancle.

Поскольку мой Qt находится в C:/, поэтому я нахожуC:\plugins\sqldrivers\, я получаю qsqlmysql.dll и qsqlmysqld.dll и копирую их в C:\Qt\Qt5.12.5\5.12.5\mingw73_64\plugins\sqldrivers

Я загружаю mysql-connector-c из здесь и копирую в C:\Qt\Qt5.12.5\5.12.5\mingw73_64\bin

После выполнения этих работ я могу подключиться к MySQL. Удачи!

...