需要先编译dll 文件,按网上的教程打开工程,编译后生成两个文件:

qsqlmysql.dll 和 qsqlmysqld.dll 。前者是release版,后者是 debug版本,都需要放在 C:\Qt\Qt5.12.12\5.12.12\mingw73_64\plugins\sqldrivers

但运行程序时,直接编译运行可以,调试模式下依然报错: cannot load driver

后来发现需将 C:\Program Files\MySQL\MySQL Server 8.0\bin 加入系统路径(加入后需重新启动QTCreator或者重启系统),问题解决(后面似乎不加路径也正常了。具体待测试)

 

后来重新安装了QT 5.14,按网上的教程总是不行。参考 了文章(https://blog.csdn.net/cathy18c/article/details/123150290)才解决问题。

遇到的坑如下:

1.  需要将 MySQL安装目录下[C:\Program Files\MySQL\MySQL Server 8.0\lib]的libmysql.dll 复制到 [C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin]下。否则即使后面步骤正常也无法找到驱动。加到PATH环境变量里似乎也可以(未测试)

2.  网上的教程是在 mysql.pro里加上

 INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 8.0\include"

但因为include是关键字,应该使用用quote

INCLUDEPATH += $$quote(C:\Program Files\MySQL\MySQL Server 8.0\include)
LIBS += $$quote(C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib)

 3.  [qsqldriverbase.pri]里增加的是[include(./configure.pri)]。

4. 最后生成的 qsqlmysql.dll和qsqlmysql.dll.debug , 只需把 qsqlmysql.dll 复制到 [C:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers]下,可以改名为 [qsqlmysqld.dll]。改成任意名称都可以

posted on 2022-04-26 23:20  五星  阅读(214)  评论(0)    收藏  举报