QSqlDatabase: QMYSQL driver not loaded 原因以及解决办法

背景介绍:

Qt的桌面版包括如下一些驱动程序:[摘录于《C++ GUI Qt4 编程第二版》]

    QDB2            IBMDB2 7.1 版本以及更新的版本

    QIBASE         Borland InterBase

    QMYSQL        Oracle Call Interface

    QODBC            ODBC(包括微软公司的QSL服务器)

    QPSQL            PostgreSQL的7.3版以及更高级的版本

    QSQLITE          SQLite第3版

    QSQLITE          SQLite第2版

    QTDS               Sybase自适应服务器 

由于授权许可的限制,Qt的开源版本无法提供所有的驱动程序。当配置Qt时,既可以选择Qt本身就包含的SQL驱动程序,也可以以插件的方式建立驱动程序。公共领域不断发展的SQLite数据库将向Qt提供支持。

问题:【Windows OS下】

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: 

解决办法:

1. 首先安装MySQL数据库;

2. 将MySQL数据安装路径“MySQL\mysql-5.7.19-win32\lib”下的四个驱动文件:

        libmysql.dll        Release版动态库驱动模块文件

        libmysql.lib        Release版静态库驱动模块文件(非必需,仅用于工程的静态链接)

        libmysqld.dll        Debug版动态库驱动模块文件

        libmysqld.lib        Debug版静态库驱动模块文件(非必需,仅用于工程的静态链接)

  拷贝到你的工程运行目录下;

3. 将Qt安装目录“Qt5.7.1\5.7\msvc2013\plugins\sqldrivers”下的:

        qsqlmysql.dll         Release版动态库驱动中间件模块文件

        qsqlmysqld.dll        Debug版动态库驱动中间件模块文件

  拷贝到你的工程运行目录下;

4. 在你的工程运行目录下执行“windeployqt  AppName.exe”(不执行此步,仍会有上述QMYSQL driver not loaded错误提示;“AppName.exe"是你应用程序的名称,请自行替换);

[2021.09.26]补充:

windeployqt这个工具只在Qt4中有。Qt5已经移除了,可以用Windows下其他工具(Dependency Walker, Windows10下这个工具已经不好用)查看你的AppName.exe程序的dll依赖信息,自己去对应的dll目录拷贝过来即可。此方法同样适用于Qt4。

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值