错误现象

找不到Mysql驱动

QSqlDatabase: QMYSQL driver not loaded

一、驱动查看

在程序中直接打印QT Creator中现有的驱动,打印方式如下:

qDebug() << "Database driver has: " << QSqlDatabase::drivers();

打印如下所示:

二、QT Creator中添加Mysql驱动

  1. 打开 mysql.pro 工程

    在路径“Qt5.12.9\5.12.9\Src\qtbase\src\plugins\sqldrivers\mysql”路径中可以找到,如下图所示:

  2. 更改mysql.pro文件,添加以下代码:

    #这个主要是添加.h依赖文件使用
    INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\include"
    #添加依赖的.lib文件
    LIBS += -L "C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib" -llibmysql
    #生成DLL文件的存放目录
    DESTDIR = ../mysql/mysqlDll

    如下图所示:

  3. 更改qsqldriverbase.pro文件,添加以下代码:

    #方便找到准确的qtsqdrivers-config.pro
    include(./configure.pri)

    如下图所示:

  4. 编译

    编译完成后,会在指定的路径下生成相应的.dll文件,如下图所示:

  5. 将生成的文件拷贝至QT Creator路径中

    将编译qsqlmysql.dll和qsqlmysqld.dll文件拷贝到Qt5.12.9\5.12.9\mingw73_32\plugins\sqldrivers文件中, 如下图所示:

  6. 将Mysql路径下的文件拷贝到QT creator路径中

    将MySQL\MySQL Server 5.7\lib路径下的libmysql.dll和libmysql.lib文件,拷贝到Qt5.12.9\5.12.9\mingw73_32\bin文件中,如下图所示:

  7. 重启QT Creator软件后,即可完成Mysql驱动的添加

注意:在添加Mysql过程中注意版本,32位和64位软件对应的路径也有差异。

三、linux环境下的QT驱动

在linux环境下缺少MySQL驱动时,处理办法和windows类似,只是路径稍微有点区别。在linux需要变成生成libqsqlpsql.so库文件

  1. 确保linux环境下已经安装mysql,安装方式如下

    sudo apt-get update
    sudo apt-get install mysql-server
  2. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql" 中找到 mysql.pro 文件,如下图所示:



    注意: 自己的安装路径,不一定是在opt路径下

  3. 使用 sudo vim mysql.pro 更改mysql.pro文件,添加以下代码:

    #这个主要是添加.h依赖文件使用
    INCLUDEPATH += /usr/include/mysql
    #添加依赖的.lib文件
    LIBS += -L /usr/lib/x86_64-linux-gnu -lmysqlclient
    #生成DLL文件的存放目录
    DESTDIR = ../mysql/mysqlSO

    如下图所示:

  4. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers" qsqldriverbase.pri 文件,添加以下类容

    #方便找到准确的qtsqdrivers-config.pro
    include(./configure.pri)

    如下图所示:

  5. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql" 中进行编译,如下图所示

  6. 将编译生成的 libqsqlmysql.so 和 libqsqlmysql.so.debug 拷贝至 /opt/Qt5.12.9/5.12.9/gcc_64/plugins/sqldrivers 下,重启 QT Creator即可

  7. 编译过程中可能出现缺少mysql.h文件,在已经安装 mysql-server 的情况下,使用以下命令即可

sudo apt-get install libmysql++-dev

参考文献

QSqlDatabase QMYSQL driver not loaded 原因以及解决办法(总结):https://blog.csdn.net/Lvcxiao/article/details/118631612

QT之Mysql驱动的更多相关文章

  1. Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)

    一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...

  2. windows下编译qt的mysql驱动

    windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...

  3. QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)

    2010/04/23:Fixes : 更新批处理,以兼容WIN7. 第一次系统地玩QT,于是诞生了此预备式: [QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1. ...

  4. QT编译Mysql驱动问题及解决方案

    默认情况下,qt 并没有自带mysql的数据库插件,需要自己编译先安装mysql server ,运行setup.exe时选择自定义安装,安装目录设为"D:\mysqldev"不要 ...

  5. QT的MYSQL驱动库编译

    QT的MYSQL驱动库编译 需要准备QT的源码Src,此次编译64位 在QTCreator中打开mysql.pro 修改两个pro 文件,下图为改好 1.mysql.pro TARGET = qsql ...

  6. QT编译mysql驱动

    一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...

  7. centos7下编译qt的mysql驱动

    在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...

  8. centos 下Qt安装 mysql驱动(亲测可行)

    (前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...

  9. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  10. qt mysql驱动问题解绝

    传统解决方法:一.解决问题 本文解决在Ubuntu16.04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsq ...

随机推荐

  1. KALI 安装搜狗输入法

    原文网址 https://www.cnblogs.com/liuxingbusi/p/9277127.html ------------------------------------------ 一 ...

  2. 测试监控系列:使用vb批量统计nmon结果

    适用于一次统计几十台机器的nmon监控结果. 新建excel,在设置里打开开发者工具,点查看代码,把下面代码贴到模块里即可.最后把表格保存为.xlsm Sub for_nmon()'用来统计nmon结 ...

  3. AXI4的IP的输入配置

    AXI4的IP的输入配置 1.实验原理 前面一篇验证中验证了AXI中的data_reg_out是输出缓存器.这里再引入一个slv_reg2作为slv-_reg1的输入输出配置寄存器.这里先实现一个简单 ...

  4. linux学习指令与现有环境解决问题笔记

    linux学习指令与现有环境笔记 注意:我将pytorch和cuda安装在了pytorch这个虚拟环境中 pytorch安装及注意问题 注意版本对应,稳定版2.0.1对应cuda11.7,别按错了 按 ...

  5. KingbaseES数据目录结构

    KingbaseES数据库结构 [kingbase@postgres V8]$ tree -LP 2 data/ . ├── data │   ├── base # 存储用户创建的数据库文件及隶属于用 ...

  6. reinterpret_cast 和 static_cast 的区别

    安全性: static_cast 是一个安全的类型转换,它只能转换具有继承关系或密切相关的类型,并且在编译时进行类型检查. reinterpret_cast 是一个不安全的类型转换,它可以将任何类型的 ...

  7. 鸿蒙HarmonyOS实战-ArkUI组件(List)

    一.List 1.概述 列表是一种非常有用且功能强大的容器,它常用于呈现同类型或多类型数据集合,例如图片.文本.音乐.通讯录.购物清单等.列表对于显示大量内容而不耗费过多空间和内存是非常有帮助的,因为 ...

  8. c语言的一些类型声明符

    基本类型: char: 字符类型 int: 整数类型 float: 单精度浮点数类型 double: 双精度浮点数类型 void: 无类型 修饰符: short: 短整数类型 long: 长整数类型 ...

  9. #搜索,容斥#洛谷 2567 [SCOI2010]幸运数字

    题目 问区间\([l,r],l,r\leq 10^{10}\)中有多少个数是 数位由6或8组成的数的倍数(包括本身) 分析 数位由6或8组成的数最多有两千多种, 这可以直接一遍暴搜得到 对于区间\([ ...

  10. 成长计划知识赋能 | 第十期:DAYU200开发入门秒Get

      2021年12月,OpenAtom OpenHarmony(以下简称"OpenHarmony")开源开发者成长计划开启了第一节OpenHarmony知识赋能直播课程,给广大开发 ...