QSqlDatabase: QMYSQL driver not loaded问题解决方法

时间:2021-12-23 22:58:27

1.错误描述:

有QMYSQL driver,但driver无法被加载
QSqlDatabase: QMYSQL driver not loaded问题解决方法
原环境:
Qt Creator:5.8.0 for windows 64-bit(VS 2013)
MySQL:wampserver集成 MySQL5.5.20 32bit

2.解决方法:
因为 Qt Creator与MySQL位数不统一,所以新下了一个 Qt 5.8.0 for Windows 32-bit(MinGw 5.3.0)版本
QSqlDatabase: QMYSQL driver not loaded问题解决方法
安装后将wampserver中MySQL的lib目录下libmysql.dll拷贝到mingw49_32的bin目录下即可

目录结构如下:

QSqlDatabase: QMYSQL driver not loaded问题解决方法

拷贝到

QSqlDatabase: QMYSQL driver not loaded问题解决方法

3.如何查看MySQL位数:
打开MySQL控制台
输入show variables like '%version_%';即可
QSqlDatabase: QMYSQL driver not loaded问题解决方法
发现是x86即是32位

4.测试代码:

main.cpp中

#include "mainwindow.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); //主机名称,如localhost
db.setDatabaseName("test"); //数据库名称
db.setPort(3306); //数据库端口号
db.setUserName("root"); //用户名称
db.setPassword("123456"); //用户密码
db.open();
if(db.isOpen())cout<<"true"<<endl;
else cout<<"false"<<endl;

return a.exec();
}

.pro文件:

QT += core gui sql

5.后记:
本来下了32 bit(VS2013)版本,但是新建一个项目就出了各种bug,就放弃这个版本了