QT:QSqlDatabase:未加载QMYSQL驱动程序[WINDOWS]

时间:2016-05-01 23:13:59

标签: c++ database qt sqlite

Salam Alikom

大家好

我试图创建一个QT接口来连接MYSQL数据库 但它给出了一个错误

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

这是我的代码

QSqlDatabase db1 = QSqlDatabase::addDatabase("QMYSQL");
db1.setHostName("localhost");
db1.setUserName("root");
db1.setPassword("");
db1.setDatabaseName("journal_machine");

我尝试了一些解决方案,但它没有工作

这是我的配置

  

QT Creator 2.8.1

     

QT 5.1.1(MSVC2010,32bit)

     

Windows 10 64位

     

与WampServer 2.5(64位)一起安装的MySQL 5.6.17

提前致谢

1 个答案:

答案 0 :(得分:0)

回答晚了,但这对未来的读者可能有用。

对于project kit 64 bit使用MySql 64 bit,对于project kit 32 bit使用MySql 32 bit >.

注意:xx:64 或 32

  • qsqlmysql.dllqsqlmysqld.dll 文件应存在于 <QtDir>\mingw73_xx\plugins\sqldrivers 文件夹中。

  • libqsqlmysql.alibqsqlmysqld.a 文件应存在于 <QtDir>\mingw73_xx\lib 文件夹中。

  • libmysql.dll 文件应该存在于 <QtDir>\mingw73_xx\bin 文件夹中。

现在,您可以构建您的项目了。

// 评论:

如果“QMYSQL driver not loaded”错误仍然存​​在,请按照仪器操作:

  1. 将 MySql 文件夹从 Program Files 复制到一个简单的路径。 (例如:“D:/MySQL”)

  2. 转到“\Src\qtbase\src\plugins\sqldrivers\mysql”文件夹

  3. 以文本形式打开 mysql.pro。

  4. 使用“#”注释 QMAKE_USE += mysql 行。 (#QMAKE_USE += mysql)

  5. 在这之后添加以下几行:

    LIBS += 'D:/MySQL/lib/libmysql.lib'

    INCLUDEPATH += 'D:/MySQL/include'

    DEPENDPATH += 'D:/MySQL/include'

  6. 保存文件。

  7. 从开始菜单打开 Qt 5.13.1 (MinGW 7.3.0 xx-bit).exe(例如)。

  8. 转到 <QtDir>\Src\qtbase\src\plugins\sqldrivers 文件夹(使用“cd”命令)。

  9. 使用 qmake mysql.pro 命令。

  10. 使用 mingw32-make 命令。

  11. 如果编译成功,进入<QtDir>\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers文件夹。

  12. qsqlmysql.dllqsqlmysqld.dll 文件复制到 <QtDir>\mingw73_xx\plugins\sqldrivers 文件夹中。

  13. libqsqlmysql.alibqsqlmysqld.a 文件复制到 <QtDir>\mingw73_xx\lib 文件夹中。

// 评论:

如果错误仍然存​​在,请遵循仪器:

  1. 下载“MySQL Connector C 6.1”程序并安装。
  2. 转到 <MySQL Connector C 6.1 Dir>\bin 文件夹。
  3. libmysql.dll 文件复制到 <QtDir>\mingw73_xx\bin 文件夹中。