Qt数据库驱动编译(MySQL)
Qt数据库驱动编译(MySQL)
哈喽!我是 Pro_er,一名热爱编程的小伙伴。在这里我会分享一些实用的开发技巧和经验心得。如果你也对编程充满热情,欢迎关注并一起交流学习!
第一步:安装所需文件
/**
* 注意 Qt和MySql的位数要相同都为64或者32位
* Qt 安装的时候一定要安装源码(Sources)不然没办法编译
* 安装就靠你自己啦,相信你可以的 :)
*/
1. Qt下载地址:https://www.qt.io/zh-cn/product/development-tool
2. MySQL下载地址:https://dev.mysql.com/downloads/
第二步:当下载安装好之后就可以开始编译啦
1. 打开你安装的Qt文件目录然后在(D:\C++Software\QT\6.6.3\Src)文件下将qtbase文件夹拷贝到一个新的空文件夹下面。
注意:D:\C++Software\QT\6.6.3\Src路径是我自己的,你的按照你的安装目录的实际情况,空文件夹位置随意
拷贝到新的文件夹下如图
2. 将MySQL安装目录下的include和lib文件夹拷贝到一个新的空文件夹下面
空文件夹位置随意
3. 打开新拷贝文件夹qtbase下的(\qtbase\src\plugins\sqldrivers)目录,找到CMakeLists.txt文件,然后使用Qt Creator打开txt文件
打开之后选择套件
4. 完成之后点击.cmake.conf在其中添加下面三行代码
/**
* SET(FEATURE_sql_mysql ON)
* SET(MySQL_INCLUDE_DIR "刚才复制的include文件夹的路径")
* SET(MySQL_LIBRARY "刚才复制的lib文件夹的路径/libmysql.lib")
*/
SET(FEATURE_sql_mysql ON)
// 这里放的include的路径是你自己上面新拷贝的include的路径
SET(MySQL_INCLUDE_DIR "D:/QtMysqlCompile/mysqlFile/include")
// 这里放的lib的路径是你自己上面新拷贝的lib的路径
SET(MySQL_LIBRARY "D:/QtMysqlCompile/mysqlFile/lib/libmysql.lib")
5. 添加好之后保存,然后点击编译

这样即为编译成功
6. 编译成功之后将下面路径中的qsplmysql.debug和qsqlmysql.dll文件进行复制
\qtbase\src\plugins\sqldrivers\build\Desktop_Qt_6_6_3_MinGW_64_bit-Debug\plugins\sqldrivers
7. 将复制到的文件粘贴到下面路径的sqldrivers目录下
D:\C++Software\QT\6.6.3\mingw_64\plugins\sqldrivers(注:使用自己软件的安装目录)
8. 将自己MySQL安装目录下的lib目录中的 libmysql.dll和libmysql.lib文件复制
9. 将复制的文件粘贴到下面路径的bin目录下
D:\C++Software\QT\6.6.3\mingw_64\bin(注:使用自己软件的安装目录)
恭喜你,你已经完成对MySQL驱动的编译和添加啦
第三步:就可以查看一下你的Qt是否有MySQL的驱动啦
1. 打开Qt Creator,新建一个控制台项目

2. 在.pro文件中添加字段
QT += sql
3. 编写代码查看驱动列表
在代码中一定要记得加入QSqlDatabase头文件哦
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QStringList list = QSqlDatabase::drivers();
foreach (QString item, list) {
qDebug() << item;
}
return a.exec();
}
构建,运行就可以查看驱动列表了,可以看到已经加入了MYSQL的驱动
以上就是这次的所有内容啦,希望能对小伙伴有所帮助。如果小伙伴有任何想法或建议,欢迎留言讨论。感谢阅读,我们下次再见,byebye~
Qt数据库驱动编译(MySQL)的更多相关文章
- Qt添加驱动——Qt数据库之添加MySQL驱动插件
Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...
- ThinkPHP数据库驱动之mysql事物回滚
1.开启事务方法 startTrans()2.事务提交方法 commit()3.事务回滚方法 rollback() 用法例子: $order = M(‘order’); $allAdded = tru ...
- Qt之编译MySQL数据库驱动(MSVC)
Qt之编译MySQL数据库驱动(MSVC) (2013-12-13 20:24:46) 转载▼ 标签: qt mysql qmysql qt编译mysql qt之msvc编译mysql 分类: Qt ...
- Qt+数据库
前言支持内置数据库: 一.sqlite 1.在头文件中声明数据库对象 QSqlDatabase db; 2.在构造函数中定义对象(最好这样定义,因为对于db来说只需要addDatabase一次,否则多 ...
- 解析Qt4.7.3编译MySql数据库驱动,存中文乱码、过滤转义字符问题
问题:使用QSqlDataBase类建立连接MySql数据库驱动加载失败 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available ...
- Qt Mysql驱动编译过程
1.首先当然是要有VS2008+Qt4.7的开发环境. 2.安装MySQL,最好是4以后的版本,安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MyS ...
- 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"不要 ...
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- Windows下QT MySQL驱动编译
在Windows环境中使用Qt进行关于MySQL数据库的操作时,会出现如下问题: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: availa ...
随机推荐
- Chrome插件之油猴(详尽版本)
官方文档: https://www.tampermonkey.net/documentation.php#google_vignette 1.注释语法: // @match https://passp ...
- PHP模块之ssh2
php远程copy文件以及在远程服务器中执行命令时,所用到的模块是ssh2,以后所有的操作都依据ssh2连接句柄完成. libssh: https://www.libssh2.org/ ssh2: h ...
- Python之pandas读取Excel
#! -*- coding utf-8 -*- """ 模块功能:读取当前文件夹下的Source里的Excel文件,显示其相关信息 说明:默认把Excel的第一行当做列名 ...
- Element-UI 中关于 Table 的几个功能点简介(行列的合并和样式、合计行配置等)
〇.前言 本文记录了关于 Element 框架中 Table 的几个功能点,后续将持续更新. el-table 官网地址:https://element.eleme.cn/#/zh-CN/compon ...
- Lombok 代码优化器
Lombok是一种Java实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO).它通过注释实现这一目的 使用安装Lombok pom文件导入lombok Mav ...
- K8S钩子、探针以及控制器完整版
一. 生命周期钩子 Kubernetes 中的 生命周期钩子(Lifecycle Hooks) 是在容器生命周期的特定阶段执行操作的机制.通过钩子,可以在容器启动后(PostStart)或停止前(Pr ...
- 从Delphi到Lazarus——Delphi转换器
0.前言 在Lazarus中使用Delphi编写的文件是一件很简单的事情,这是因为Lazarus可以直接打开Delphi的任何文件,甚至有些文件可以不做任何修改就可以直接使用到你的Lazarus程序中 ...
- Java性能最后一个领域:去除垃圾回收器
Java性能最后一个领域:去除垃圾回收器 不产生垃圾不等于不创建对象,如果对象创建满足以下几个条件,仍然可以在创建对象之后不需要垃圾回收器: 应用程序或者库在初始化的时候生成有限个数的对象,然后不断复 ...
- .NET 9 New features-AOT相关的改进
上一篇文章给大家介绍了 .NET 9 New features-JSON序列化 本篇文章,研究分享一下关于AOT方面的改进 1. 什么是AOT AOT(Ahead-of-Time)编译是一种在应用程序 ...
- Windows 11 下 Virtualbox 6.1.34 出现 End kernel panic - not syncing: attempted to kill the idle task
前言小半年没用 Virtualbox 了,切换到了 VMware,今天又切换回去(无聊),但是安装虚拟机出现这个错误. 解决方法根据 Virtualbox 论坛的讨论[1]和[2],首先明确 系统必须 ...





