QMYSQL-未加载驱动程序

问题描述 投票:0回答:1

操作系统: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工作而做了什么?

mysql qt qt-creator
1个回答
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复制到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:LIBSINCLUDEPATHDEPENDPATH更改为您的路径。

  1. 我单击Run,得到一个window,单击cancle

  2. 因为我的QtC:/中,所以我找到了C:\plugins\sqldrivers\,我得到了qsqlmysql.dllqsqlmysqld.dll,然后将它们复制到C:\Qt\Qt5.12.5\5.12.5\mingw73_64\plugins\sqldrivers

  3. 我从mysql-connector-c下载here并将其复制到C:\Qt\Qt5.12.5\5.12.5\mingw73_64\bin

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

© www.soinside.com 2019 - 2024. All rights reserved.