1.报错原因
Qt在某个版本后不在提供编译好的mysql驱动,只在src中提供了驱动源码,使用需要自行编译链接,报错信息如下:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
2.查询版本号
首先需要确定mysql和qt使用的编译器都为32或者64位(必须一致),其次通过qt的安装目录可以确定它的版本(例:D:\QT\5.14.2\mingw73_64,可知qt版本为5.14.2,采用的是mingw64位编译器),记住这个版本。
3.下载对应驱动
进入
GitHub - thecodemonkey86/qt_mysql_driver: Typical symptom: QMYSQL driver not loaded. Solution: get pre-built Qt SQL driver plug-in required to establish a connection to MySQL / MariaDB using Qt. Download qsqlmysql.dll binaries built from official Qt source code (这是由大佬提供的编译好的mysql驱动)
进入网页之后,点击右下角的 Releases
进入驱动下载页面。
在这个页面寻找对应自己版本号的驱动,图中红线勾画出的部分,分别为qt版本,编译器版本和编译器位数,需要在页面中找到对应自己版本的压缩包(当前页没有的可以点击下一页继续寻找),并点击下载。
4.添加驱动
下载并解压对应驱动后,会有以下文件。
接下来打开Qt安装目录下的bin文件夹(例:D:\QT\5.14.2\mingw73_64\bin),将libmysql.dll文件复制进该目录。
然后在打开Qt下编译器的plugin文件夹下的sqldrivers文件夹(例:D:\QT\5.14.2\mingw73_64\plugins\sqldrivers),将解压文件中的\debug\sqldrivers\qsqlmysql.dll文件,复制到该目录。