错误现象

找不到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. Python 利用pandas多列分组多列求和

    一.需求描述: 如下Excel数据 需要按 ASIN.SKU.品名.店铺 对 1-31 的列进行分组求和,实际数据是有很多重复的SKU数据 二.代码实现 import pandas as pd # 从 ...

  2. drools中使用全局变量

    一.背景 在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢? 二.前置知识 1.语法结构 2.全局变量的特点 使用global来定义全局变量,它 ...

  3. 探寻UUID的起源与奥秘:从时间戳到唯一标识

    1. UUID起源与原理 UUID(Universally Unique Identifier)是一种唯一标识符,最初由Apollo计算机公司的软件工程师Roedy Green在1987年提出.其原理 ...

  4. MySQL备份还原工具

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. KingbaseES数据库配置Hikari数据源

    Hikari是一个高性能的数据库连接池,它是Spring Boot 2.x中的默认数据源. 一.下载驱动 打开下面网址:选择对应平台的jdbc驱动程序. 人大金仓-成为世界卓越的数据库产品与服务提供商 ...

  6. SpringSecurity认证和授权流程详解

    什么是SpringSecurity Spring Security是一个Java框架,用于保护应用程序的安全性.它提供了一套全面的安全解决方案,包括身份验证.授权.防止攻击等功能.Spring Sec ...

  7. SQL 递归核心思想(递归思维)

    目前很缺递归思维,主要是算法代码写得少,本篇记录下以 PostgreSQL 代码举例(主要是非常喜欢这款性能小钢炮数据库). 树状查询不多说,很简单大家基本都会,主要讲 cte 代码递归实现不同需求. ...

  8. #斜率优化,二分#CF631E Product Sum

    题目 有一个数列 \(a\),其权值为 \(\sum_{i=1}^ni*a_i\), 现在可以任意选择其中一个数字扔到任意位置,使权值和最大. \(n\leq 2*10^5,|a_i|\leq 10^ ...

  9. #分治#JZOJ 4211 送你一颗圣诞树

    题目 有\(m+1\)棵树分别为\(T_{0\sim m}\),一开始只有\(T_0\)有一个点,编号为0. 对于每棵树\(T_i\)由T_{a_i}\(的第\)c_i\(个点与\)T_{b_i}\( ...

  10. MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录

    使用 ORDER BY 进行排序 使用 ORDER BY 语句按升序或降序对结果进行排序. ORDER BY 关键字默认按升序排序.要按降序排序结果,使用 DESC 关键字. 示例按名称按字母顺序排序 ...