【问题标题】:QT : QSqlDatabase: QMYSQL driver not loaded [WINDOWS]QT:QSqlDatabase:未加载 QMYSQL 驱动程序 [WINDOWS]
【发布时间】:2016-05-01 23:13:58
【问题描述】:

萨拉姆·阿利科姆

大家好

我正在尝试创建一个 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 位

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

提前致谢

【问题讨论】:

  • 你的 PATH 中有 libmysql.dll 吗? Qt 插件在你的 PATH 中吗?
  • 我在 `C:\wamp\bin\mysql\mysql5.6.17` 上安装了 MySQL 5.6,我在 libmysql.dll 中有 C:\wamp\bin\mysql\mysql5.6.17\lib @OnWhenReady 我应该怎么做!!
  • 第一次尝试:将dll放在可执行文件的目录中。
  • 我在C:\Users\Amine\Documents\QT\build-Journal_Machine-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug Journal_Machine.exe journal_machine.o libmysql.dll libmysqld.dll main.o moc_journal_machine.cpp moc_journal_machine.o 中通过了libmysql.dll 但仍然是同样的问题:(

标签: c++ database qt sqlite


【解决方案1】:

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

project kit 64 bit 使用 MySql 64 bitproject 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 驱动程序未加载”错误仍然存​​在,请关注仪器:

  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文件夹中。

【讨论】:

  • 复制 libmysql.dll(来自 Windows Mysql Community Server/lib)到应用程序文件夹,除了 DIY qsqlmysql.dll...这是我需要的提示!谢谢。
  • 不客气。
猜你喜欢
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多