【发布时间】: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
我为上述错误找到了多种解决方案,但没有一个对我有用。这是我验证/尝试过的东西的列表:
- \Qt\5.4\mingw491_32\plugins\sqldrivers 应该包含 qsqlmysql.dll & qsqlmysqld.dll
- 应将 libmysql.dll 和 libmysqld.dll 的路径添加到 Path 变量或包含在 C:\windows\System32 中
- libmysql.dll & libmysqld.dll 应该被添加到 \Qt\5.4\mingw491_32\bin
- 将 \Qt\5.4\mingw491_32\plugins\sqldrivers 添加到可执行文件 Qt 项目目录。
- 将 libmysql.dll 和 libmysqld.dll 添加到 Qt 的可执行目录 项目。
我发现 3.、4. 和 5. 有点奇怪,因为我希望正确安装所有内容并设置路径变量不需要复制这些文件。无论如何,以上建议都不适合我。
我有点沮丧,希望能得到任何帮助。
谢谢!
【问题讨论】: