QT之Mysql驱动
错误现象
找不到Mysql驱动
QSqlDatabase: QMYSQL driver not loaded
一、驱动查看
在程序中直接打印QT Creator中现有的驱动,打印方式如下:
qDebug() << "Database driver has: " << QSqlDatabase::drivers();
打印如下所示:

二、QT Creator中添加Mysql驱动
打开 mysql.pro 工程
在路径“Qt5.12.9\5.12.9\Src\qtbase\src\plugins\sqldrivers\mysql”路径中可以找到,如下图所示:

更改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
如下图所示:

更改qsqldriverbase.pro文件,添加以下代码:
#方便找到准确的qtsqdrivers-config.pro
include(./configure.pri)
如下图所示:

编译

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

将生成的文件拷贝至QT Creator路径中
将编译qsqlmysql.dll和qsqlmysqld.dll文件拷贝到Qt5.12.9\5.12.9\mingw73_32\plugins\sqldrivers文件中, 如下图所示:

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

重启QT Creator软件后,即可完成Mysql驱动的添加
注意:在添加Mysql过程中注意版本,32位和64位软件对应的路径也有差异。
三、linux环境下的QT驱动
在linux环境下缺少MySQL驱动时,处理办法和windows类似,只是路径稍微有点区别。在linux需要变成生成libqsqlpsql.so库文件
确保linux环境下已经安装mysql,安装方式如下
sudo apt-get update
sudo apt-get install mysql-server
在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql" 中找到 mysql.pro 文件,如下图所示:

注意: 自己的安装路径,不一定是在opt路径下使用
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如下图所示:

在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers" qsqldriverbase.pri 文件,添加以下类容
#方便找到准确的qtsqdrivers-config.pro
include(./configure.pri)
如下图所示:

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

将编译生成的 libqsqlmysql.so 和 libqsqlmysql.so.debug 拷贝至 /opt/Qt5.12.9/5.12.9/gcc_64/plugins/sqldrivers 下,重启 QT Creator即可
编译过程中可能出现缺少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驱动的更多相关文章
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- windows下编译qt的mysql驱动
windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...
- 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. ...
- QT编译Mysql驱动问题及解决方案
默认情况下,qt 并没有自带mysql的数据库插件,需要自己编译先安装mysql server ,运行setup.exe时选择自定义安装,安装目录设为"D:\mysqldev"不要 ...
- QT的MYSQL驱动库编译
QT的MYSQL驱动库编译 需要准备QT的源码Src,此次编译64位 在QTCreator中打开mysql.pro 修改两个pro 文件,下图为改好 1.mysql.pro TARGET = qsql ...
- QT编译mysql驱动
一. 下载mysql C链接库 地址:http://dev.mysql.com/downloads/ 根据当前系统选择下载: 二. 安装下载好的mysql驱动文件 注意,一定要安装在不含有中文.空格以 ...
- centos7下编译qt的mysql驱动
在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...
- centos 下Qt安装 mysql驱动(亲测可行)
(前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...
- Mac下Qt连接MySQL 驱动问题
Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...
- qt mysql驱动问题解绝
传统解决方法:一.解决问题 本文解决在Ubuntu16.04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsq ...
随机推荐
- vue-router动态注册
来源 写路由时每新建一个路由都需要import一下或其他方式(如箭头函数import)很是麻烦,有麻烦就有需求,于是以下这篇文章就来了 吹水 要想动态注册路由,那么就需要制定规则,即每个路由有一定的规 ...
- JAVA 获取文件 MD5
private static final char[] hexCode = "0123456789ABCDEF".toCharArray(); // 文件类取MD5 public ...
- 论文阅读小结(B/S和C/S结构)
论文阅读小结 一.B/S 和 C/S 软件体系结构选择 1) C/S . B/S 结构概述 C/S 结构,即 Client/Server (客户机 / 服务器 ), C/S 结构软件分为客户机和服务器 ...
- ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架
ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时 ...
- #搜索,计算几何#JZOJ 4016 圈地为王
题目 在\(n\)行\(m\)列的网格中,你要圈一些地. 你从左上角出发,最后返回左上角,路径内部的区域视为被你圈住. 你不可以进入网格内部, 只能在边上行走. 你的路径不能在左上角以外自交, 但是边 ...
- WPF/MVVM模式入门教程(二):实现INotifyPropertyChanged接口
引用:https://www.cnblogs.com/flh1/p/12447188.html 1.创建NotifyPropertyChanged类 我们在common文件夹下创建一个名为Notify ...
- keycloak~网站对接到Keycloak的步骤
新网站对接到KC的部署 kc的环境 向kc申请自己的客户端 kc的登录接口 通过code换token接口 刷新token接口 kc的用户信息接口 kc的jwt token说明 1. kc的环境 测试环 ...
- linux上操作 压缩包 的命令
# tar.gz 解压缩 # 解压 tar -zxvf a.tar.gz # 压缩 tar -zcvf a.atr.gz a # zip 解压缩 # 压缩 zip -vr a.zip a/* # 解压 ...
- C#使用PaddleOCR进行图片文字识别✨
PaddlePaddle介绍 PaddlePaddle(飞桨)是百度开发的深度学习平台,旨在为开发者提供全面.灵活的工具集,用于构建.训练和部署各种深度学习模型.它具有开放源代码.高度灵活性.可扩展性 ...
- leetcode-数组中两元素的最大乘积
题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums ...