qt 5.14.2 与 mysql 数据库服务器连接问题

QSqlDatabase: QMYSQL driver not loaded 

1、qt 连接mysql数据代码如下:

    QSqlDatabase db_mysql = QSqlDatabase::addDatabase("QMYSQL"); 
    db_mysql.setDatabaseName("student");
    db_mysql.setHostName("10.15.21.94");
    db_mysql.setPort(3306);
    db_mysql.setUserName("root");
    db_mysql.setPassword("root");

2、然后qt版本升级后(本人在使用qt5.14.2),发现连接不上了

执行代码 : QSqlDatabase db_mysql = QSqlDatabase::addDatabase("QMYSQL");

的时候提示:QSqlDatabase: QMYSQL driver not loaded 

3、原来是新版本qt里面没有了mysql的库,需要自己编译,编译方法如下:

  • 安装mysql(和qt编译目标位数保持一致,我用的:mysql-5.5.8-winx64.msi)
  • 安装qt(qt-opensource-windows-x86-5.14.2.exe),安装的时候勾选 src。
  • qt打开项目:C:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql,修改mysql.pro文件,修改后如下:
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
LIBS += "C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"
INCLUDEPATH +="C:\Program Files\MySQL\MySQL Server 5.5\include"
include(../qsqldriverbase.pri)

4、构建项目

本人(设置mingw73_64),构建后在目录下 C:\plugins\sqldrivers 下生成有 qsqlmysql.dll, 把qsqlmysql.dll拷贝到

C:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers 

下面,连接数据库就ok了。

 

你可能感兴趣的:(qt,5.14.2,与mysql连接失败问题,QSqlDatabase:,QMYSQL,driver,not,loa,mysql,qt5)