QMYSQL driver not loaded,Qt中没有QMYSQL数据库,缺少静态库的驱动插件libmysql.dll,libmysql.lib,qsqlmysql.lib,

有很多人应该和我一样,当输入qDebug() << QSqlDatabase::drivers();时,没有显示支持QMYSQL数据库,翻译是缺少QMYSQL的驱动程序,驱动程序未加载。在这里插入图片描述
然后不断查资料得出是缺少libmysql.dll,libmysql.lib,qsqlmysql.lib这三个静态库的驱动插件。

通过下载Mysql的mysql-connector-c-6.1.3-win32可以得到前两个插件。(我这里是32位的)
点击下载
第三个qsqlmysql.lib需要通过编译才能得到

把下载好的mysql-connector-c-6.1.3-win32文件中的lib和include复制到D:\QT\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql目录中在这里插入图片描述
在这里插入图片描述
如果D:\QT\5.14.2这个目录下没有Src这个文件夹在这里插入图片描述
就是当时安装的时没有选择Sources,需要卸载重装在这里插入图片描述
打开D:\QT\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql中的mysql.pro在这里插入图片描述
在这里插入图片描述
在这里插入图片描述点构建,不需要点击运行,不然会出现找不到执行档。
构建完成后会产生Cannot read D:/qtsqldrivers-config.pri: No such file or directory提示,不需要理会
然后会在对应的盘中会生成plugins文件在这里插入图片描述
其中就有qsqlmysql.dll文件
在这里插入图片描述
全部都复制到D:\QT\5.14.2\mingw73_32\plugins\sqldrivers目录下在这里插入图片描述
再把之前下载文件lib中的libmysql.dll和libmysql.lib复制到
D:\QT\5.14.2\mingw73_32\bin中在这里插入图片描述
在这里插入图片描述
最后新建一个Qt的程序,进行测试

	qDebug() << QSqlDatabase::drivers();

	//添加MYSql数据库
	QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
	//连接数据库
	db.setHostName("127.0.0.1");    //数据库服务器IP
	db.setPort(3306);
	db.setUserName("root");		//用户名
	db.setPassword("123456");   //密码
	//db.setDatabaseName("mysql"); //使用数据库

	//判断,是否连接成功
	if(db.open() == false)	//连接失败
	{
		qDebug() << db.lastError().text();	//打印失败原因
		qDebug() << "连接失败";
		return ;
	}
	else//连接成功
	{
		qDebug() << "连接成功";
	}

需要在 .pro 文件中添加QT += sql 才能运行成功
在这里插入图片描述
出现了支持QMYSQL数据库并且连接数据库成功。
这里是支持32位的Qt,连接数据库的libmysql.dll,libmysql.lib,qsqlmysql.lib文件需要保证有效才能够连接成功。
本教程并不适用于所有的问题,我也是看了很多博主的教程才做出来的。
分享libmysql.dll,libmysql.lib,qsqlmysql.lib文件
链接:https://pan.baidu.com/s/1Qh8HpK7575zQwD1aHG_xZg
提取码:94z0

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页