基本按照这个兄弟来就可以:
https://blog.csdn.net/sazass/article/details/113553323
看不到的我也截图了:
火狐截图_2021-12-28T12-20-13.438Z.rar
有一些说明:
1、阿里云是5.x版本,但是我们还是选最新的8.x版本dll,这是不行的,要版本一致!!!向下是不兼容的!!!!
2、libmysql.dll要拷贝到qt版本的bin,不是qtcreator的bin,当然,发布时最好都拷贝过去
3、之所以需要libmysql.dll,是因为qsqlmysql.dll调用了libmysql.dll,所以如果bin目录没有libmysql.dll是无法加载插件 qsqlmysql.dll的
4、需要注意插件qsqlmysql.dll,哪个编译器编出来就拷贝到对应的目录,32bit和64bit不能混用,mingw不能和vc混用!!!
5、官网下载的是100~200MB的 mysql-serverxxx 文件,解压后就有lib include,也可以下载老版本的 mysql-connector-c 版本,但是最新的 mysql-connector-c++ 8.x是不能用于编译的,一定要 server 版本里面的文件,他才包含 lib include 那些东西。至于 connector-c++ 这些怎么用,还望大家指点!
直接给你们提供6.x的c版本和8.x的版本:
mysql-connector-c-6.1.10-winx64.rar
报:QSqlDatabase: QMYSQL driver not loaded 的解决方法:
首先,qsqlmysql.dll 是依赖 libmysql.dll的,但是不要以为 libmysql.dll 拷贝到bin目录就完事了,用Dependencies.exe打开,发现他还依赖2个dll:
libcrypto-1_1-x64.dll,libssl-1_1-x64.dll
到qtcreator目录(C:\Qt\Qt5.14.1\Tools\qtcreator-4.11.1-x64\bin)一看,正好这2个也在,于是把这2个dll拷贝到 qt版本的bin目录(C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\bin),跟 libmysql.dll一起。
再启动就不会报这个错误了。
报:QSqlError("2027", "QMYSQL: Unable to connect", "Malformed packet")
或者报:QSqlError("1043", "QMYSQL: Unable to connect", "Bad handshake")
都是版本不一致导致的。
也就是说,8.0的客户端,不要连5.x 6.x版本的服务器!
我犯的错误就是,用6.x 8.x的dll,去连接阿里云的5.1.48版本,结果就出来一堆莫名其妙问题!
再次声明,客户端、服务器端版本要一致!!!
再给你5.x版本(旧版本不需依赖 libcrypto-1_1-x64.dll,libssl-1_1-x64.dll):