Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法

我使用的Qt版本是Qt5.7.1 msvc2015 64位版,实际上并没有使用MySQL,而是MariaDB,版本为10.2.6。当我运行Qt附带的样例“sqlbrowser”时,总会提示如下信息:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

看到网上的解决方法,大多是重新编译Qt的sql driver,费时费力。最后终于在http://blog.csdn.net/tenlee/article/details/43614241这篇文章中网友“勤劳的包子”的评论中找到了一种别的解决方法,最终解决了我的问题。
首先在MySQL官网https://dev.mysql.com/downloads/connector/c/下载mysql-connector-c,我下载的是zip包,然后将其解压,在其lib目录中找到文件“libmysql.dll”。然后将这个文件复制到Qt的bin目录下,重启Qt Creator后重新打开工程就可以正确运行了。
后来经过测试发现,将MariaDB安装目录下lib目录中的“libmariadb.dll”复制到Qt的bin目录下,然后将其重命名为“libmysql.dll”后,重启Qt Creator后重新打开工程也能正常运行。

你可能感兴趣的:(Qt,C++)