最近在关注QT5 得一些知识要点
重点:我得qt是5.141版本 发现并没有mysql驱动 E:\gt\qt\5.14.1\mingw73_64\plugins\sqldrivers 没有qsqlmysql.dll。需要用qt编译一个
第一步:编译(qsqlmysql.dll)驱动
1:E:\gt\qt\5.14.1\Src\qtbase\src\plugins\sqldrivers 目录下用qt运行 sqldrivers.pro
2:修改目录 mysql.pro里面内容为:
#mysql
win32:LIBS += -LF:/shujuku/mysql-5.7.12-winx64/lib/ -llibmysql
INCLUDEPATH += F:/shujuku/mysql-5.7.12-winx64/include
DEPENDPATH += F:/shujuku/mysql-5.7.12-winx64/include
include(…/qsqldriverbase.pri)
3:重构二次。 第一次不会有qsqlmysql.dll 要第二次才有
4: E:\gt\qt\5.14.1\Src\qtbase\src\plugins\build-sqldrivers-Desktop_Qt_5_14_1_MinGW_64_bit-Debug\plugins\sqldrivers 目录找到 qsqlmysql.dll 驱动
5:复制到E:\gt\qt\5.14.1\mingw73_64\plugins\sqldrivers 目录下;
第二步:把现在运行的mysql目录下 libmysql.dll 放入 E:\gt\qt\5.14.1\mingw73_64\bin 目录下
1:F:\shujuku\mysql-5.7.12-winx64\lib 下的libmysql.dll 复制 到E:\gt\qt\5.14.1\mingw73_64\bin
以上二大步骤做完 之后,就是在qt5 配置了mysql的驱动引擎 和qt和mysql之间的配置
需要注意的是 qt编译用的是64位对应的mysql 也要是64位
下面是配置成功图片:
相差不是很大的版本,都可以解决。
qDebug() << QSqlDatabase::drivers(); 可以认为有哪些数据库驱动,上面有QMYSQL,证明加载进去了。
QSqlDatabase db = QSqlDatabase::addDatabase(“QMYSQL”);
qDebug()<<“QMYSQL driver?”<<db.isValid();
这两句代表加载QMYSQL对象是否成功,如果没成功 那么会输出 not load。。。3
那么就是第二大步骤没有操作。
如果有什么不懂得,可以留言。。