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

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值