QMYSQL-未加载驱动程序

时间:2019-09-30 08:06:46

标签: mysql qt qt-creator

操作系统:Windows 10 x64

我已将我的Qt版本从5.10.0更新为5.12.5。让我的工具包再次工作时遇到了麻烦,但最终我可以qmake并构建应用程序。但是,一旦我启动它,应用程序输出日志就会告诉我“驱动程序未加载”。通常,我通过将同事发送给我的libmysql.dll放在可执行文件的根目录中来解决此问题。但是现在(我认为由于版本不匹配),该方法不再起作用。
我几乎尝试了任何事情。我重新安装了MySQL,然后跟随these instructions,尝试定位.dll,甚至尝试了自己构建MySQL库,但都没有解决。
我所有编译器的plugins\sqldrivers文件夹仅包含以下.dll文件,但不包含mysql.dll

enter image description here

  

我在做什么错/你们为使MySQL工作而做了什么?

1 个答案:

答案 0 :(得分:0)

我也使用5.12.5,但我成功构建了mysql驱动程序。这是我的工作:

  1. 获取Qt的src
  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,所以我将includelib复制到{{1} }
  4. 使用D:\mysql\更改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:LIBS INCLUDEPATH更改为路径。

  1. 我单击DEPENDPATH,然后得到Run,然后单击window

  2. 因为我的cancleQt中,所以我找到了C:/,我得到了C:\plugins\sqldrivers\qsqlmysql.dll并将它们复制到{{1 }}

  3. 我从here下载了qsqlmysqld.dll,并将其复制到C:\Qt\Qt5.12.5\5.12.5\mingw73_64\plugins\sqldrivers

完成这些工作后,我可以连接mysql。祝您好运!