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

文章目录

  • [0 背景](#0 背景)
  • [1 编译过程](#1 编译过程)
  • [2 福利](#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;

mac:

windwos:

3,修改/Users/mac/Qt6.5/6.5.3/Src/qtbase/src/plugins/CMakeLists.txt文件;

mac:

cpp 复制代码
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:

cpp 复制代码
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")
  • mac下载mysql
cpp 复制代码
brew uninstall mysql
brew cleanup --prune=all mysql
rm -rf /usr/local/var/mysql
brew install mysql@5.7

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,编写程序测试驱动。

cpp 复制代码
#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

相关推荐
kakakahahahaha10 分钟前
Windows鼠标失灵排查:Ctrl Alt Delete、Mouse Keys、USB控制器与驱动修复
windows·驱动开发·电脑·笔记本电脑·软件需求
Vex2une23 分钟前
Windows 资源监视器发展史:从任务管理器附件到系统级诊断利器
windows·系统监控·任务管理器·诊断工具·etw·resmon·资源监视器
vx_Biye_Design1 小时前
springboot宠物领养与救助平台64334-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·课程设计·宠物
Vex2une1 小时前
Windows 事件查看器发展史:从 NT 3.1 黑匣子到企业级安全日志平台
windows·事件日志·事件查看器·event viewer·etw·eventvwr·系统诊断
做运维的阿瑞1 小时前
mysql数据库视图笔记:创建、修改、删除与适用场景
数据库·笔记·mysql
sukalot1 小时前
Windows 驱动实例分析系列:libwdi 驱动分析 - libwdi 篇(七)
windows
java1234_小锋2 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据库基本操作
数据库·mysql
扶尔魔ocy2 小时前
【qt openGL入门笔记】坐标系统和摄像机
qt·opengl
专业程序开发源3 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
jason.zeng@15022073 小时前
canal做mysql的异步传输工具
数据库·mysql·linq