【问题标题】:QMYSQL driver loading errorQMYSQL 驱动加载错误
【发布时间】:2015-08-05 00:01:12
【问题描述】:

我今天尝试让 MySQL 与 Qt 一起运行,但在加载 QMYSQL 驱动程序时遇到了错误。我正在运行 Windows 8.1 作为操作系统。 这是我的应用程序的代码:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "my_db_name");
    db.setHostName("localhost");
    db.setDatabaseName("mydb");
    db.setUserName("root");
    db.setPassword("testpwd1234");
    if (db.open()) {
        qDebug() << "Opened!";
    } else {
        qDebug() << "Error = " << db.lastError();
    }

    return a.exec();
}

运行它时出现以下错误:

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

我为上述错误找到了多种解决方案,但没有一个对我有用。这是我验证/尝试过的东西的列表:

  1. \Qt\5.4\mingw491_32\plugins\sqldrivers 应该包含 qsqlmysql.dll & qsqlmysqld.dll
  2. 应将 libmysql.dll 和 libmysqld.dll 的路径添加到 Path 变量或包含在 C:\windows\System32
  3. libmysql.dll & libmysqld.dll 应该被添加到 \Qt\5.4\mingw491_32\bin
  4. 将 \Qt\5.4\mingw491_32\plugins\sqldrivers 添加到可执行文件 Qt 项目目录。
  5. 将 libmysql.dll 和 libmysqld.dll 添加到 Qt 的可执行目录 项目。

我发现 3.、4. 和 5. 有点奇怪,因为我希望正确安装所有内容并设置路径变量不需要复制这些文件。无论如何,以上建议都不适合我。

我有点沮丧,希望能得到任何帮助。

谢谢!

【问题讨论】:

    标签: c++ mysql qt dll


    【解决方案1】:

    感谢您的意见。事实证明这是一个非常愚蠢的错误。我试图在我的 32 位 Qt 构建中包含 64 位二进制文​​件。万一有人在让 MySQL 与 Qt 一起工作时遇到问题,这对我来说是这样的:

    -从http://www.qt.io/download/ 下载/安装 Qt。 C:\Qt\5.5\mingw492_32\plugins\sqldrivers 应该包含qsqlmysql.dll,这个是qt驱动让qt与MySQL交互

    -从http://dev.mysql.com/downloads/mysql/ 下载/安装 MySQL。 Windows 安装程序对我来说很好用

    -从https://dev.mysql.com/downloads/connector/c/ 安装 MySQL 连接器 C 6.1。 这不是 Windows 安装程序附带的,但会包含必要的二进制文件

    - 将 C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib 中的 libmysql.dll 和 libmysql.lib 复制到任何必须使用它的项目的 .exe 目录中

    -在 Qt 中享受查询式编程会话!

    【讨论】:

      【解决方案2】:

      它应该是一个不匹配的版本。我在 Linux 中遇到了类似的问题。您可以检查 libqsqlmysql 的依赖关系并找到完全预期的 mysql 版本。正确匹配的版本应该可以解决此问题。

      【讨论】:

        猜你喜欢
        • 2020-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多