编译Qt6.5.3LTS版本(Mac/Windows)的mysql驱动(附带编译后的全部文件)

news/2024/10/21 11:45:58/

文章目录

  • 0 背景
  • 1 编译过程
  • 2 福利
  • 参考

0 背景

因为项目要用到对MYSQL数据库操作,所以需要连接到MYSQL数据库。但是连接需要MYSQL驱动,但是Qt本身不自带MYSQL驱动,需要自行编译。网上有很多qt之前版本的mysql驱动,但是没有找到qt6.5.3版本的,所以只好自己编译。

编译好的文件如下:

请添加图片描述

请添加图片描述

在这里插入图片描述

1 编译过程

1,如果没有下载qt源代码的,可以通过在终端运行下面的指令,

  • windows.\MaintenanceTool.exe --mirror https://mirror.nju.edu.cn/qt;
  • Mac:./MaintenanceTool.app/Contents/MacOS/MaintenanceTool --mirror https://mirror.nju.edu.cn/qt

如果不需要更换镜像,可以不加--mirror https://mirror.nju.edu.cn/qt

请添加图片描述
请添加图片描述
2,打开mysql驱动编译程序/Users/mac/Qt6.5/6.5.3/Src/qtbase/src/plugins/build-sqldrivers-Qt_6_5_3_for_macOS-Release/CMakeCache.txt

请添加图片描述
3,修改/Users/mac/Qt6.5/6.5.3/Src/qtbase/src/plugins/CMakeLists.txt文件;

mac:

SET(FEATURE_sql_mysql ON)
SET(MySQL_INCLUDE_DIR "/usr/local/Cellar/mysql@5.7/5.7.44_1/include/mysql")
SET(MySQL_LIBRARY "/usr/local/Cellar/mysql@5.7/5.7.44_1/lib/libmysqlclient.20.dylib")

windows

SET(FEATURE_sql_mysql ON)
SET(MySQL_INCLUDE_DIR "D:/mysql-8.0.36-winx64/include")
SET(MySQL_LIBRARY "D:/mysql-8.0.36-winx64/lib/libmysql.dll")
brew uninstall mysql
brew cleanup --prune=all mysql
rm -rf /usr/local/var/mysql
brew install mysql@5.7
  • windows下载mysql源代码地址,安装方法。可以不用安装成功。

4,然后编译程序,得到编译后的mysql驱动;

mac:
在这里插入图片描述
windows

虽然会报错,但是还是可以成功编译出mysql驱动。

在这里插入图片描述

在这里插入图片描述

5,把编译好的驱动程序放到/Users/mac/Qt6.5/6.5.3/macos/plugins/sqldrivers文件夹中;

mac(编译好的文件,存在的位置):
请添加图片描述
windows(编译好的文件,存在的位置):

在这里插入图片描述

如果是windwos,还需要把下面的两个文件放入到D:\Qt\Qt5.15.2\6.5.3\mingw_64\bin中。

在这里插入图片描述

6,编写程序测试驱动。

#include "mainwindow.h"#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>int main(int argc, char *argv[])
{QApplication a(argc, argv);// MainWindow w;// w.show();qDebug()<<"查看目前可用驱动";QStringList drivers = QSqlDatabase::drivers();for(auto driver: drivers){qDebug()<<driver<<" ";}//设置数据库驱动QSqlDatabase db1 = QSqlDatabase::addDatabase("QMYSQL", "connection1");db1.setHostName("192.168.0.104");db1.setUserName("root");db1.setPassword("password");db1.setPort(3309);db1.setDatabaseName("test_db");if(db1.open()){qDebug()<<"数据库打开成功";}return a.exec();}

得到如下结果:

mac:

请添加图片描述

windwos:

在这里插入图片描述

2 福利

编译好的mysql驱动,含windows和mac版本的(5.14.2,5.15.2,6.5.3),链接如下:

链接:https://pan.baidu.com/s/1m15DbFuFTtXfEyqyOS2cew
提取码: 2o2s

参考

https://blog.csdn.net/m0_52072919/article/details/130094915

https://blog.csdn.net/weixin_53989417/article/details/132586266


http://www.ppmy.cn/news/1444261.html

相关文章

细说温度测量-热电偶1

细说温度测量——热电偶1 四种现代温标的转换公式热电偶测量热电偶电压参比端基准电路 四种现代温标的转换公式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ K ˚C 273.15 ˚R ˚F 459.67 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ˚C 5/9 (…

利用Spring Boot后端与Vue前端技术构建现代化电商平台

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

Centos编译安装python3.9

Centos编译安装python3.9 2024年4月24日, 当前Linux环境只能下载tar.gz包, 然后编译安装, 不能直接使用yum快速安装 准备相关依赖 yum -y install epel-release yum -y update 安装开发者工具 yum groupinstall "Development Tools" -y yum install openssl-de…

浏览器的同源策略与解决跨域

同源策略&#xff08;协议、域名、端口&#xff09; 同源策略&#xff08;Same-Origin Policy&#xff09;是一个在浏览器安全模型中被实施的重要安全机制。它是基于域名、协议和端口号的限制&#xff0c;用于防止不同源的网页间的恶意行为和信息泄露。 根据同源策略&#xf…

Swish和H-Swish激活函数:提升模型训练效率

文章目录 Swish激活函数H-Swish激活函数实现总结参考 在深度学习领域&#xff0c;激活函数是神经网络中的关键组成部分&#xff0c;它决定了网络的输出和性能。近年来&#xff0c;研究人员提出了许多新的激活函数&#xff0c;其中Swish激活函数因其独特的性能优势而备受关注。这…

分类预测 | Matlab实现CNN-GRU-SAM-Attention卷积门控循环单元融合空间注意力机制的数据分类预测

分类预测 | Matlab实现CNN-GRU-SAM-Attention卷积门控循环单元融合空间注意力机制的数据分类预测 目录 分类预测 | Matlab实现CNN-GRU-SAM-Attention卷积门控循环单元融合空间注意力机制的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现CNN-GRU…

OSINT技术情报精选·2024年4月第3周

OSINT技术情报精选2024年4月第3周 2024.4.22版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 1、斯坦福大学&#xff1a;《2024年人工智能指数报告》 最近&#xff0c;由李飞飞联合领导的斯坦福大学以人为本人工智能研究所&#xff08;St…

2024LarkXR新增功能系列之五 | 单端口支持多并发

实时云渲染技术在为虚拟现实、游戏、和各种应用程序提供强大的渲染支持的同时&#xff0c;也带来了一些网络和运维上的挑战。在传统的设置中&#xff0c;实时云渲染推流技术需要为每个视频流单独占用服务器的一个端口。这种方法在多用户同时访问的情况下可能会导致端口资源的快…