Qt5.13编译mysql5.6.45-x64驱动(Win10)

1、系统环境

系统版本:Win10 1809
Qt版本:5.13
编译器版本:MSVC2015-x64
mysql版本:5.6.45-x64

2、编译前准备

Qt安装时有勾选resources选项,这个选项表示安装带有源码。
mysql5.6.45已正确安装,如为安装可查看上篇博客。

3、打开驱动编译的源文件

路径参考:
D:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
双击打开文件,
选择编译器,选择之后点击configure project 按钮
如图在这里插入图片描述

4、修改工程配置文件

双击打开mysql.Pro
在这里插入图片描述

修改下列选项

1)注释 QMAKE_USE += mysql

2)在OTHER_FILES += mysql.json后添加(ps:将下述目录替换为安装的实际目录)

win32:LIBS += $$quote( D:\Program Files\mysql-5.6.45-winx64\lib\libmysql.lib )
INCLUDEPATH += $$quote( D:\Program Files\mysql-5.6.45-winx64/include )
DEPENDPATH += $$quote( D:\Program Files\mysql-5.6.45-winx64/include )

修改之后如下图所示在这里插入图片描述

5、开始编译

配置文件修改完成之后,重新构建项目
构建项目完成之后,点击编译
编译完成后,dll文件会在Qt安装磁盘根目录下的plugins的文件夹里。
在这里插入图片描述

如果没有任何错误消息提示,但是还是编译失败的话,请打开qt的案例,直接运行,观察是否正常运行,如果提示错误信息Qt LNK1158无法运行rc.exe则参考之下解决方案,完成后再重新编译mysql驱动
在这里插入图片描述

6、dll文件的拷贝覆盖

dll文件生成成功后,将 qsqlmysql.dll 和 qsqlmysqld.dll 两个文件拷贝到两个指定目录内
本人的是:
D:\Qt\Qt5.13.0\5.13.0\msvc2015_64\bin
D:\Qt\Qt5.13.0\5.13.0\msvc2015_64\plugins\sqldrivers

7、测试

新建一个Qt Widget的工程
在ui上添加一个lineEdit控件
修改.pro文件,QT += sql
在.h文件中添加定义

QSqlDatabase database;
QString connectMysql(QString connectName,QString ip , int port,QString userName,QString password);

在.cpp文件中添加代码

ui->lineEdit->setText(connectMysql("huang","127.0.0.1",3306,"root",""));
QString mysqltest::connectMysql(QString connectName,QString ip , int port ,QString userName,QString password)
{
   if (QSqlDatabase::contains(connectName))//判断testConnect连接是否存在并连接
	{
	database = QSqlDatabase::database(connectName);
      	}
      	else //未连接则新建数据库连接
     	 {
	    database=QSqlDatabase::addDatabase("QMYSQL",connectName);//创建数据库连接,并为其命名testConnect
            database.setHostName(ip);      //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
            database.setPort(port);                 //连接数据库端口号,与设置一致           
	    database.setUserName(userName);          //数据库用户名,与设置一致      
	    database.setPassword(password);   //数据库密码,与设置一致
        }
        if(!database.open())
        {
            return "fail to connect mysql:"+database.lastError().text();
        }
 return "";
}

如图所示
在这里插入图片描述
如果lineEdit中无任何提示,
恭喜你,mysql的驱动已经能够正常使用了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值