首页 > 数据库 >【QT】【MYSQL】【WINDOWS】qmysql驱动编译

【QT】【MYSQL】【WINDOWS】qmysql驱动编译

时间:2024-11-08 18:46:08浏览次数:8  
标签:QT WINDOWS MYSQL 5.12 mysql sqldrivers plugins Qt5.12

文章目录


前言

提示:参考网上各种安装教程均失败 ,下面来一个完整qmysql驱动编译,并qt连接数据库操作成功!


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装QT,MYSQL

这里就不赘述了,其他教程足够用
QT:5.12.1
MYSQL:9.1

二、生成qsqlmysql.dll

1.配置mysql.pro

cd D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql
下面有mysql.pro

修改内容如下

TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql  #注释掉!!!!!!
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
INCLUDEPATH += "D:/MySQL/include"
LIBS += "D:/MySQL/lib/libmysql.lib"
DEPENDPATH += "D:/MySQL/include"
DESTDIR  = ../mysql/mysqlDll  

完全可以不要DESTDIR = …/mysql/mysqlDll 这一行,生成的不会到这个地方!会在D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers下面

2.修改qsqldriverbase.pri

在目录下D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/configure.pri)  #注释掉 主要是加下面一行
include(./configure.pri) #重点
PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

3.管理员身份运行x64 Native Tools Command Prompt for VS 2022

进到D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql

D:\Qt\Qt5.12.1\5.12.1\mingw73_64\bin\qmake "INCLUDEPATH+=D:/MySQL/include" "LIBS+=D:/MySQL/lib/libmysql.lib" mysql.pro

在这里插入图片描述
执行

make debug

在这里插入图片描述
执行

nmake release

在这里插入图片描述

重点!!!!

上面执行完毕之后,参考其他教程将生成的qsqlmysql.dll文件复制到D:\Qt\Qt5.12.1\5.12.1\mingw73_64\plugins\sqldrivers 然而执行代码仍会报错driver not loaded

重点这里完全不用复制:参考QT官网就会发现执行下面这句话进到D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql

nmake install  

此刻 自己将该复制的文件复制过去 了!!!!

在这里插入图片描述

成功执行代码

在这里插入图片描述


终于成功!!!!!

标签:QT,WINDOWS,MYSQL,5.12,mysql,sqldrivers,plugins,Qt5.12
From: https://blog.csdn.net/jingjing_97/article/details/143599654

相关文章

  • QtThread线程同步和缓冲区设计
    线程同步的概念在多线程应用程序中,由于多个线程的存在,线程之间可能需要访问同一个变量。或一个线程需要等待另外一个线程完成某个操作后才能产生相应的动作。例如,在上一个例子中,工作线程产生随机的骰子点数,主线程读取骰子点数并显示,主线程需要等待工作线程产生一个新的骰子......
  • 【MySQL】数据库备份详解
    一、引言1.1数据库备份的重要性二、MySQL数据库备份的基础知识2.1备份类型2.2备份工具与方法三、MySQL数据库备份的实施步骤3.1环境准备3.2选择合适的备份工具与方法3.3执行备份3.4验证备份3.5存储与管理备份四、MySQL数据库恢复流......
  • MySQL RC隔离级别下罕见的gap lock
    复现方法:CREATETABLE`test1`(`id`int(11)NOTNULL,`name`varchar(10)DEFAULTNULL,`id1`int(11)DEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`id1`(`id1`);insertintotest.test1values(1,'a',1),(3,'a',3),(5,'a'......
  • 【QT项目】QT6项目之基于C++的通讯录管理系统(联系人/学生管理系统)
    目录一.项目背景二.创建工程工程创建添加文件 联系人类 功能类三.功能实现联系人类person.cppperson.h 查查询按钮槽函数返回按钮槽函数findperson.cpp:增addperson.cpp:删deleteperson.cpp:改changeperson.cpp:!!显示!!displayperson.cpp:清除clearp......
  • windows基础
    windows基础1、windows&linux微软windows操作系统,俗称windows文件系统linux:fhs目录结构,块设备挂载到目录(一切都是文件)win:以驱动器盘符起始,或通过目录挂载分区路径格式linux:/开始,区分大小写(左斜线)win:\分隔路径,不区分大小写(右斜线)系统配置linux:etc/和/proc(存储在信息......
  • mysql(Error_code: 1032)原因与通用修复方案
    碰到MYSQL常见的1032错误,从库复制异常。通过showslavestatus\G命令也能看到对应的报错(处理时忘记截图了)。通过报错我们可以去主库找到binlog中具体的报错。mysqlbinlog--no-defaults-v-v--base64-output=DECODE-ROWSmysql-bin.018563>1106.sql这是一个事务对应一......
  • 高效集成:聚水潭采购数据同步到MySQL
    聚水潭数据集成到MySQL的技术案例分享在本次技术案例中,我们将聚焦于如何通过轻易云数据集成平台,将聚水潭系统中的采购入库单数据高效、准确地集成到MySQL数据库中。具体方案名称为“聚水潭-采购入库单-->BI阿尼三-采购入库表_copy”。首先,针对聚水潭的数据获取,我们使用了其提供......
  • windows上好用的11款工具
    Windows必备的11款工具你有用到过吗1、Quicker一个超级强大的办公软件,能够一键调出所有的应用程序。不管是工作还是学习经常用到的程序都能用它一键快速启动,包括:翻译、文本处理、图片操作、文件处理,剪贴板、OCR文字识别、wWindows资源管理器、office文档、聊天对话框等。使......
  • Windows安装Python开发环境
    一、下载安装包1、下载最新版本:https://www.python.org/downloads/2、历史版本下载https://www.python.org/ftp/python/二、安装1、点击安装程序,如下图勾选Addpython.exetoPath,点击InstallNow,或选择下面的自定义安装注:勾选Addpython.exetoPath会自动配置环境变量......
  • 监控 Windows 更新补丁安装过程中的文件夹和文件,可以通过 PowerShell 监控 Windows 更
    监控Windows更新补丁安装过程中的文件夹和文件,可以通过PowerShell监控Windows更新的日志文件夹、注册表或其他相关位置。Windows更新会在多个地方生成日志和文件,下面提供了一个使用PowerShell监控Windows更新相关路径、文件夹及文件的示例。监控Windows更新相关的文......