qt连接mysql数据库:QSqlDatabase: QMYSQL driver not loaded

5 篇文章 0 订阅

1.前言

qt连接mysql数据库需要两个动态库。1:qt连接mysql的动态库--qsqlmysql.dll  qsqlmysqld.dll;2:mysql的C connecor动态库--libmysql.dll。

缺少任何库都会提示:QSqlDatabase: QMYSQL driver not loaded,不过“QSqlDatabase: available drivers:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7”这句会告诉你,有哪些qt的连接库是可以用的。如:没有qt连接mysql的动态库,就不会有“QMYSQL”这个提示。

本文记录下这两种dll的获取方式。

先直接放上所有的动态库:链接: https://pan.baidu.com/s/1IQM8QL-GXW_I71_-f5Nq_w 提取码: urub

包含qt连接mysql的动态库(MSVC32bit、MSVC64bit、MinGW32bit、MinGW64bit)和mysql的C connecor动态库。

qt的动态库要放在qt安装目录下。如我的qt路径:D:\Qt\Qt5.12.4\5.12.4\msvc2017_64\plugins\sqldrivers\,放入MSVC64bit版本的动态库。

mysql的动态库可以放在项目的生成目录、或者qt的bin目录,如:D:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin,放入64bit的libmysql.dll。

2.在哪下载libmysql.dll,即mysql C Connector

有两种方式

1.安装mysql后,会有libmysql.dll。不过32位的libmysql.dll要安装32位的mysql,64位的libmysql.dll同理。

2.直接下载:最终下载地址:https://downloads.mysql.com/archives/c-c/

从mysql官网进入下载地址的方式。官网地址:https://www.mysql.com/downloads/

1.进入网址后,向下滑动页面,点击“MySQL Community (GPL) Downloads »”;

2.进入页面后,点击“C API (libmysqlclient)”;

3.进入C API页面后,点击“MySQL Product Archives”,进入最终页面

 

3.编译qsqlmysql.dll 和qsqlmysqld.dll

1.源码路径:D:\Qt\Qt5.12.4\5.12.4\Src\qtbase\src\plugins\sqldrivers\mysql (需在安装Qt时选中安装 source);

2.打开项目,选择要编译的版本:

3.配置pro文件:

    a)直接编译会报错,需要在mysql.pro中注释“QMAKE_USE += mysql”;

    b)需要设置“DESTDIR”,不然生成的dll不知道在哪;

    c)需要引用mysql的库,不然会提示“无法打开包括文件“mysql.h””

    d)“qsqldriverbase.pri”可能需要注释“include($$shadowed($$PWD)/qtsqldrivers-config.pri)”,并添加“include(./configure.pri)”,如果报错和这个引用相关的话。

如图,是我在编译时的“mysql.pro”文件:其中,引用路径可以在项目上 右键—>添加库 进行添加。MSVC 32bit 和 MinGW 32bit都用32位的mysql库;64位同理。

下图是“qsqldriverbase.pri”文件

配置完成,直接编译就行了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值