QT6.4配置mysql5.7.22

Qt6.4编译mysql驱动完整版

版本

1.qt:6.4 (安装好mingw、source源码)
2.mysql:5.7.22(这个什么版本都行,只是可能路径不同)
3.win10

1.安装Cmake-gui

链接: Cmake-gui下载.
在这里插入图片描述

2.配置环境变量

D:\Qt\Tools\mingw1120_64\bin
D:\Qt\6.4.0\mingw_64
C:\Program Files\CMake\bin
在这里插入图片描述

Cmake-gui 进行编译

1.配置编译目录

Source code:D:/Qt/6.4.0/Src/qtbase/src/plugins/sqldrivers
Build:D:/Qt/6.4.0/Src/qtbase/src/plugins/sqldrivers/build

注意配置的目录是在sqldrivers目录下

2.第一次生成

在这里插入图片描述

3.选择编译器

MinGW Makefiles(这个在底下)
在这里插入图片描述

4.第一次生成结果图(可以看到,是不包含mysql的)

在这里插入图片描述

5.配置mysql

在这里插入图片描述
H:/mysql5.7.22/include
H:/mysql5.7.22/lib/libmysql.dll
路径不要包含空格,不要带有中文,不然可能找不到dll或者头文件
在这里插入图片描述

6.第二次生成

在这里插入图片描述

7.生成dll文件

命令行进入到build文件夹

C:\Users\Administrator>cd /d D:\Qt\6.4.0\Src\qtbase\src\plugins\sqldrivers\build
D:\Qt\6.4.0\Src\qtbase\src\plugins\sqldrivers\build>mingw32-make
[  4%] Automatic MOC for target QMYSQLDriverPlugin
[  4%] Built target QMYSQLDriverPlugin_autogen
Scanning dependencies of target QMYSQLDriverPlugin
Consolidate compiler generated dependencies of target QMYSQLDriverPlugin
[ 31%] Built target QMYSQLDriverPlugin
[ 36%] Automatic MOC for target QODBCDriverPlugin
[ 36%] Built target QODBCDriverPlugin_autogen
Scanning dependencies of target QODBCDriverPlugin
Consolidate compiler generated dependencies of target QODBCDriverPlugin
[ 63%] Built target QODBCDriverPlugin
[ 68%] Automatic MOC for target QSQLiteDriverPlugin
[ 68%] Built target QSQLiteDriverPlugin_autogen
Scanning dependencies of target QSQLiteDriverPlugin
Consolidate compiler generated dependencies of target QSQLiteDriverPlugin
[100%] Built target QSQLiteDriverPlugin

D:\Qt\6.4.0\Src\qtbase\src\plugins\sqldrivers\build>

8.生成的dll文件

D:\Qt\6.4.0\Src\qtbase\src\plugins\sqldrivers\build\plugins\sqldrivers目录下
找到qsqlmysql.dllqsqlmysql.debug,将这两个以及libmysql.dll添加到D:\Qt\6.4.0\mingw_64\plugins\sqldrivers目录下
在这里插入图片描述
最后是这样的
在这里插入图片描述

3.验证

创建一个简单的qt项目进行验证
Cmake编译: 修改cmakelists

find_package(QT NAMES Qt6 REQUIRED COMPONENTS Widgets QuickWidgets Sql)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets QuickWidgets Sql)

....

target_link_libraries(JS_services_controller PRIVATE
    Qt${QT_VERSION_MAJOR}::Widgets  
    Qt${QT_VERSION_MAJOR}::QuickWidgets
    Qt${QT_VERSION_MAJOR}::Sql)

qmake编译:修改.prc

QT+=sql
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlError>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");  //连接本地主机
    db.setPort(3306);
    db.setDatabaseName("数据库名");
    db.setUserName("admin");
    db.setPassword("123456");
    bool ok = db.open();
    if (ok){
        QMessageBox::information(this, "infor", "link success");
    }
    else {
        QMessageBox::information(this, "infor", "link failed");
        qDebug()<<"error open database because"<<db.lastError().text();
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}

可能会有以下报错:
在这里插入图片描述
解决方案:
D:\Qt\6.4.0\mingw_64\plugins\sqldrivers文件夹下的qsqlmysql.dllqsqlmysql.debuglibmysql.dll添加到项目的生成目录下即可
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值