Qt6.8编译MySQL
Qt6.8编译MySQL,与Qt5的区别在于sqldrivers改用makefile管理,不再使用Qt的pro管理,需要用到CMake和VS,与VTK、ITK、OSG的编译方式一致。
下载CMake,https://cmake.org/download
安装MySQL,https://www.mysql.com/downloads ,选择8.0的任意版本,安装时只选择server即可,把bin配置到path
参考以下文章:
QT6.8 MySQL驱动编译 MSVC2022-64位 - bluejade2024 - 博客园
https://www.cnblogs.com/bluejade/p/18559866
sqldrivers路径如下,图片来自两台电脑的编译过程,一个6.8,一个6.9
cmake关键配置如下
注意要勾上Advanced,不然MySQL的include和lib配置项看不到,就没法配置,不配置会导致勾上的feature_sql_mysql自动关闭
Configure和Generate完成后,打开生成的VS项目
选择QMYSQLDriverPlugin项目,选成RelWithDebInfo版本,右键属性如下配置
生成后的lib和dll在build目录的plugins的sqldrivers,全部复制到Qt的plugins的sqldrivers
再把MySQL的lib和dll复制到Qt的bin
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>qDebug() << QSqlDatabase::drivers();QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");db.setPort(3306);db.setDatabaseName("mysql");db.setUserName("root");db.setPassword("root");if (!db.open()) {qDebug("Sql connect failed.");qDebug() << db.lastError().text();} else {qDebug("Sql connected.");}