繁体   English   中英

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

[英]QT : QSqlDatabase: QMYSQL driver not loaded [WINDOWS]

萨拉姆·阿里科姆

大家好

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

QT 5.1.1 (MSVC2010, 32 位)

视窗 10 64 位

MySQL 5.6.17 安装了 WampServer 2.5(64 位)

提前致谢

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

对于项目工具包 64 位使用MySql 64 位,对于项目工具包 32 位使用MySql 32 位

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM