0、参考(按对本人帮助从高到低排列)

Qt5.14.1 如何编译和使用mysql和mariadb数据库驱动

(15条消息) QMYSQL driver not loaded 的原理和解决办法_m15814478834的专栏-CSDN博客

(15条消息) 关于windows下Qt报告“QMYSQL driver not loaded”的解决办法_ac_blood的博客-CSDN博客

1、原因

缺少MySQL数据库驱动(即Driver)或MySQL相关库

1.1、是否缺少Driver?

假设我们要用MSVC2017运行数据库相关操作:

  1. 转到QT安装目录下MSVC2017运行环境的文件夹下,比如在我的电脑上是E:\Qt\5.14.2\msvc2017_64;
  2. 进入plugins\sqldrivers目录下,所以Driver所在的完整目录是E:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers;
  3. 检查这个文件夹下是否有 qsqlmysql.dll 与 qsqlmysqld.dll两个文件,就像下边这样
  4. 如果没有这两个文件,就说明缺少MySQL driver。

1.2、是否缺少MySQL相关库?

检查E:\Qt\5.14.2\msvc2017_64\lib目录下,看是否有libmysql.dll与libmysql.lib两个文件,如果没有,就说明缺少MySQL相关库。

2、解决方法

2.1、缺少MySQL相关库:libmysql.dll 与 libmysql.lib

  1. 下载MySQL(注意32位、64位一定要正确),转到下载好的MySQL目录下的lib目录中:D:\MySQL\lib;
  2. 找到libmysql.dll与libmysql.lib两个文件,复制粘贴到1.2中所说的目录E:\Qt\5.14.2\msvc2017_64\lib目录下,即可解决。

2.2、缺少MySQL Driver:qsqlmysql.dll 与 qsqlmysqld.dll

这个解决比较复杂,大家出问题也主要是这个问题。

  1. 转到Qt目录下的 "E:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql"目录中,大概长下边这样:

  2. 在Qt Creator中打开该目录下的mysql.pro,相当于打开这个mysql项目,进入mysql.pro下:
    #mysql.pro
    
    TARGET = qsqlmysql
    HEADERS += $$PWD/qsql_mysql_p.h
    SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp PLUGIN_CLASS_NAME = QMYSQLDriverPlugin OTHER_FILES += mysql.json QMAKE_USE += mysql include(../qsqldriverbase.pri)
  3. 修改这个项目文件,添加三句话、注释一句话:
    INCLUDEPATH += "D:\MySQL\include"
    LIBS+="D:\MySQL\lib\libmysql.lib"
    DESTDIR = ../mysql/lib
    #QMAKE_USE += mysql

    其中第一行中的路径,就是MySQL中include目录的路径;第二行中的路径,就是2.1中所说的MySQL库的路径;第三行是输出driver到哪个文件夹下;

  4. 在项目中取消勾选Shadow build:
  5. 构建项目
  6. 之后就可以在lib目录(E:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql\lib)下找到驱动文件qsqlmysql.dll  与 qsqlmysqld.dll;

  7. 把这两个文件复制到1.1中所说的目录E:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers下;
  8. 完事!

QT:MYSQL driver not loaded解决方法的更多相关文章

  1. 今天用pro安装nginx+php+mysql出现故障的解决方法

    今天用pro安装nginx+php+mysql出现故障的解决方法 by 伍雪颖 dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1h ...

  2. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  3. Mysql常见报错解决方法

    一:登录报错 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO) mysql日志文件 ...

  4. PHP+MYSQL 出现乱码的解决方法

    PHP+MYSQL 出现乱码的解决方法 使用PHP+MYSQL时遇到过字符乱问题,解决方法: 在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于 ...

  5. MYSQL转换编码的解决方法

    MYSQL转换编码的解决方法 一.在utf8的mysql下 得到中文‘游客’的gbk下的16进制编码 mysql> SELECT hex(CONVERT( '游客' USING gbk )); ...

  6. 远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

  7. 实例讲解启动mysql server失败的解决方法

    MySQL 实例讲解启动mysql server失败的解决方法 来源: 作者: 发表于: 启动mysql server 失败,查看/var/log/mysqld.err 080329 16:01:29 ...

  8. MySQL常见错误分析与解决方法总结

    MySQL常见错误分析与解决方法总结 一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分 ...

  9. 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

随机推荐

  1. MySQL数据库本地事务原理

    在经典的数据库理论里,本地事务具备四大特征: 原子性 事务中的所有操作都是以原子的方式执行的,要么全部成功,要么全部失败: 一致性 事务执行前后,所有的数据都应该处于一致性状态---即要满足数据库表的 ...

  2. 基于 esbuild 的 universal bundler 设计

    --字节跳动前端 Byte FE :杨健 背景 由于 Lynx(公司自研跨端框架)编译工具和传统 Web 编译工具链有较大的差别(如不支持动态 style 和动态 script 基本告别了 bundl ...

  3. C编译器中“不是所有的控件路径都返回值”报错

    编译器的判断逻辑是是否在所有的分支中都返回了值,即if不成立时也必须返回值.编译器认为如果三个if都不成立则此函数可能没有返回值,故报错.需要将第三个if改为else或者去掉if体直接return.

  4. 利用 Python 进行数据分析(Python 数据分析)· 第 2 版

    译者:SeanCheney 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 机器学习交流群 629470233 ApacheCN 学习资源 Sklearn 与 ...

  5. RabbitMQ如何实现延迟队列?(转)

    什么是延迟队列 延迟队列存储的对象肯定是对应的延迟消息,所谓"延迟消息"是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费. 场景一 ...

  6. Web标准和骨架

    Web 标准的好处 1.让Web的发展前景更广阔 2.内容能被更广泛的设备访问 3.更容易被搜寻引擎搜索 4.降低网站流量费用 5.使网站更易于维护 6.提高页面浏览速度 Web 标准构成 Web标准 ...

  7. 标签显示模式(display)

    非洲黑人: 皮肤内黑色素含量高,以吸收阳光中的紫外线,保护皮肤内部结构免遭损害,头发象羊毛一样卷曲,使每根卷发周围都有许多空隙,空隙充满空气,卷发有隔热作用. 欧洲白人: 生活寒带或着是说常年温度较低 ...

  8. DbUnit入门实战

    原文地址: http://yangzb.iteye.com/blog/947292 相信做过单元测试的人都会对JUnit 非常的熟悉了, 今天要介绍的DbUnit(http://dbunit.sour ...

  9. 浅谈php web安全

    首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记.细心总结文章,里面有些是我们phper不易发现或者说不重视的东西.所以笔者写下来方便以后查阅.在大公司肯定有专门的we ...

  10. DatabaseMetaData

    getColumns public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern ...