gpt4 book ai didi

c++ - QMYSQL驱动加载错误

转载 作者:搜寻专家 更新时间:2023-10-31 00:32:17 27 4
gpt4 key购买 nike

我今天试图让 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 的路径添加到路径中变量或包含在 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. 有点奇怪,因为我希望正确安装所有内容并且设置 Path 变量不需要复制这些文件。无论如何,以上建议都不适合我。

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

谢谢!

最佳答案

感谢您的输入。结果证明这是一个非常愚蠢的错误。我试图在我的 32 位 Qt 构建中包含 64 位二进制文​​件。如果有人在让 MySQL 与 Qt 一起工作时遇到问题,这里是它对我的工作方式:

-从http://www.qt.io/download/下载/安装Qt .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 安装程序附带的,但将包含必要的二进制文件

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

-享受 Qt 中的查询式编程 session !

关于c++ - QMYSQL驱动加载错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821329/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com