QMYSQL驱动程序加载错误

Bas*_*ond 2 c++ mysql dll qt

我今天尝试用Qt运行MySQL,当我加载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();
}
Run Code Online (Sandbox Code Playgroud)

运行它时出现以下错误:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL3
Run Code Online (Sandbox Code Playgroud)

我找到了上述错误的多种解决方案,但这些都不适用于我.以下是我验证/尝试的内容列表:

  1. \ Qt\5.4\mingw491_32\plugins\sqldrivers应该包含qsqlmysql.dll和qsqlmysqld.dll
  2. 应将libmysql.dll和libmysqld.dll的路径添加到C:\ windows\System32中包含的Path变量OR中
  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.有点奇怪,因为我希望正确安装所有内容并设置Path变量不应该要求复制这些文件.无论如何,上述建议都不适合我.

我有点沮丧,并希望得到任何帮助.

谢谢!

Bas*_*ond 5

感谢您的投入.结果证明这是一个非常愚蠢的错误.我试图用我的32位Qt版本包含64位二进制文​​件.如果有人遇到麻烦让MySQL与Qt一起工作,以下是它对我有用的方法:

-download/install Qt来自http://www.qt.io/download/.C:\ Qt\5.5\mingw492_32\plugins\sqldrivers应该包含qsqlmysql.dll,这是获取qt与MySQL交互的Qt驱动程序

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

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

-copy libmysql.dll和libmysql.lib从C:\ Program Files(x86)\ MySQL\MySQL Connector C 6.1\lib进入.exe目录,用于任何必须使用它的项目

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