vs2017下qt项目连接数据库 没有“QMYSQL” driver not loaded

阅读: 评论:0

vs2017下qt项目连接数据库 没有“QMYSQL” driver not loaded

vs2017下qt项目连接数据库 没有“QMYSQL” driver not loaded

环境:visual studio2017 + qt-vasaddin + qt5.14.1 + mysql64位

最近qt项目需要用到vs开发,不多说,来搭建环境。

1.网盘下载地址
链接:
提取码:se2m

注意:
①mysql环境与msvc2017编译器环境保持一致。
mysql32位 配 msvc2017 32位
或 mysql64位 配 msvc2017 64位
我这里选择的是msvc2017-64bit

②qt安装时编译器勾选MSVC2017 64位。Source源码勾选。

2.vs建立了界面应用程序(勾选SQL模块)测试mysql连接

#include <qsqldatabase.h>
#include <qmessagebox.h>
#include <qdebug.h>
#include <qsqlerror.h>int main(int argc, char *argv[])
{QApplication a(argc, argv);/*testMysqlConnection w;w.show();*/qDebug() << QSqlDatabase::drivers();QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");	//添加数据库db.setDatabaseName("test");		//数据库名称db.setHostName("localhost");	//主机名db.setUserName("root");			//用户名db.setPassword("这里写你的数据库密码");			//密码db.setPort(3306);				//端口号if (db.open()){QMessageBox::warning(NULL, QString("Tip"), QString("Successed to open database"), QMessageBox::Yes);return -1;}else {QMessageBox::critical(0, QObject::tr("Failed to open database"), db.lastError().databaseText(), QMessageBox::Cancel);return 0;}//	();
}

编译运行
Driver not load!
打印看看调试信息,先设置下项目属性
main里面加一句代码

	QApplication a(argc, argv);qDebug() << QSqlDatabase::drivers();	//加上这句代码

编译运行:

好吧,QMYSQL都没有,老老实实编译驱动

2.编译mysql驱动
双击mysql.pro文件QtCreator运行,编译器选择msvc2017 64bit
如我的路径如图:

编辑mysql.pro文件

编译ok,将生成路径(mysql/lib)下刚刚生成的驱动文件qsqlmysql.dll及qsqlmysqld.dll
拷贝至msvc2017-64的驱动文件夹,替换原本的驱动,如我的替换路径如下图:



继续编译运行vc的测试代码,

解决方法:
加载驱动,将mysql解压目录lib目录下的libmysql.dll拷贝至msvc2017的bin目录下:


重新编译vc测试代码:

恭喜你,终于弄好了!喝杯咖啡去~

本文发布于:2024-02-01 15:17:10,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170677183237529.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接数据库   项目   qt   driver   QMYSQL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23