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. iptables规则管理

    查看规则 iptables -t filter -L INPUT -n -v --line  省略-t选项时,表示默认操作filter表中的规则 添加规则 注意点:添加规则时,规则的顺序非常重要  - ...

  2. JavaScript设计原则与编程技巧

    1 设计原则概述 <UNIX/LINUX设计哲学>设计准则 ① 小既是美. ② 每个程序只做一件事情. ③ 快速建立原型. ④ 舍弃高效率而取可移植性. ⑤ 避免强制性的图形化界面交互. ...

  3. Android开发-页面绘制

    今天主要绘制了记账页面 记账页面用到的布局是TableLayout加Viewpager联动的方式,通过设置一个标题头可以实现页面的左右滑动,viewpager中添加两个fragment. 需要制作两个 ...

  4. springboot 的运行原理?

    一.@SpringbootApplicaion 是一个组合注解?  在注解中点击查看. 作用:实现自动配置. /* * springboot的运行原理 1. @SpringbootApplicatio ...

  5. 【C++】输入输出

    缓冲 C++ 的输入输出均通过缓冲区来实现.缓冲区主要是为了解决速度不匹配的问题. cin 阻塞输入.当输入缓存中无字符时则等待用户输入. 输入缓冲 输入缓冲是一种行缓冲.在输入数据只要没有碰到换行符 ...

  6. 「JSOI2018」机器人

    在本题当中为了方便,我们将坐标范围改至 \((0 \sim n - 1, 0 \sim m - 1)\),行走即可视作任意一维在模意义下 \(+1\). 同时,注意到一个位置只能经过一次,则可以令 \ ...

  7. Docker 中的问题:”invalid reference format: repository name must be lowercase”

    在导入镜像的时候出现问题:invalid reference format: repository name must be lowercase 问题解决:镜像命名不能出现大写字母,将大写改为小写即可 ...

  8. Aselenium前言

    https://seleniumhq.github.io/docs/index.html https://www.seleniumhq.org/ THE SELENIUM BROWSER AUTOMA ...

  9. figlet 一个在linux生成字符串图案的玩具

    figlet官网 figlet官方字体库 figlet字体样例 安装方法 centos/redhat/fedora 发行版 yum install -y figlet debian/ubuntu 发行 ...

  10. 利用shell脚本[带注释的]部署单节点多实例es集群(docker版)

    文章目录 目录结构 install_docker_es.sh elasticsearch.yml.template 没事写写shell[我自己都不信,如果不是因为工作需要,我才不要写shell],努力 ...