0
点赞
收藏
分享

微信扫一扫

Qt+vs2017连接MySQL的常见问题


开发环境:Qt5.12.3+vs2017+mysql5.7.33 64位

总结一下Qt连接MySQL遇到的常见问题:

问题一:QsqlDatabase::drivers()输出的值为空,也就是Qt没有检测到数据库驱动。

解决办法一:新增系统变量QT_PLUGIN_PATH,值为Qt的安装路径到plugins,如:C:\Qt5.12.3\5.12.3\msvc2017_64\plugins,配置完重启系统生效,同时确保C:\Qt5.12.3\5.12.3\msvc2017_64\plugins\sqldrivers\目录下面存在qsqlmysql.dll和qsqlmysqld.dll。这个解决办法存在副作用,会导致qtcreator无法打开。

解决办法二:把C:\Qt5.12.3\5.12.3\msvc2017_64\plugins\目录下的sqldrivers文件夹拷贝到自己项目的执行目录中(推荐使用)。

问题二:出现QMYSQL driver not loaded信息。

解决办法:重新编译MySQL驱动,使用qtcreator打开Qt中MySQL的源码项目,路径在C:\Qt5.12.3\5.12.3\Src\qtbase\src\plugins\sqldrivers\mysql\具体路径根据自己的安装目录决定,修改如下图:

Qt+vs2017连接MySQL的常见问题_sql

Qt+vs2017连接MySQL的常见问题_sql_02

 

修改完成后点击编译,把生成的qsqlmysql.dll和qsqlmysqld.dll拷贝到C:\Qt5.12.3\5.12.3\msvc2017_64\plugins\sqldrivers\中,同时把MySQL安装目录\lib\下的libmysql.dll和libmysqld.dll拷贝到项目的执行目录中,注意MySQL是32位还是64位。

问题记录持续更新中……

举报

相关推荐

0 条评论