赞
踩
最近在学习Qt 时发现自己的Qt版本没有MySQL的驱动,楼主的Qt 和MySQL的版本如下:
Qt 版本:Qt 5.15.1 Windows版
Qt编译器版本:MinGW81_64
MySQL版本:MySQL8.0.17 64位 Windows版
楼主使用下面的Qt代码查看Qt当前支持的数据库驱动:
//打印Qt支持的数据库驱动
qDebug()<<:drivers>
结果发现Qt 5.15 默认并没有提供MySQL数据库的驱动:
可以发现默认并没有MySQL的驱动!!
原因是:Qt 5在高版本中取消了对MySQL数据库的默认支持,这是因为随着商业版的MySQL推出,MySQL已经不能算是一个完全开源的数据库了,而Qt默认只会给完全开源的数据库提供支持,而上面的数据库都是完全开源的。那么如何给Qt 5.15添加MySQL驱动呢?经过研究,解决方案如下:
第 1 步 -----------------------------------------
首先打开MySQL安装目录下的lib文件夹,楼主的lib文件夹的地址如下:C:\Program Files\MySQL\MySQL Server 8.0\lib
打开后选择 libmysql.dll 和***libmysql.lib*** ,复制:
然后,将其粘贴到 Qt的MinGW编译器的bin文件夹下,楼主的bin文件夹的地址为:
D:\QT5\5.15.1\mingw81_64\bin
大家可以根据自己的安装位置选择合适的位置复制:
第 2 步 -----------------------------------------
1. 找到Qt安装目录下sql驱动中的mysql文件夹
这是楼主的地址:
D:\QT5\5.15.1\Src\qtbase\src\plugins\sqldrivers
这个地址比较绕,大家不要搞错了,这个地址下有一个文件夹mysql(哈哈,终于找到了),复制一份这个文件夹到桌面(也可以不复制,楼主只是不想改动mysql的安装文件):
2. 生成Qt的MySQL动态链接库
打开桌面的mysql文件夹,打开其中的mysql Qt工程文件:
将其.pro工程配置文件修改为如下:
运行此工程(只管运行如有报错不用管),运行后,打开桌面mysql的lib文件夹,可以发现新生成的3个dll文件:
其中,qsqlmysql.dll和qsqlmysql.dll.debug 即是我们需要的Qt数据库的驱动文件。
3. 复制驱动文件到Qt的sqldrivers文件夹中
选中上面生成的qsqlmysql.dll和qsqlmysql.dll.debug 驱动文件(位于桌面mysql文件lib中)并复制:
然后将其粘贴到Qt安装目录下的sqldrivers文件夹下:
(这是楼主的地址,大家对照寻找自己的地址)
D:\QT5\5.15.1\mingw81_64\plugins\sqldrivers
4. 大功告成!
现在,我们已经成功给Qt添加了MySQL的驱动!
接下来重启Qt,进行测试,继续使用下面的代码打印Qt支持的数据库驱动:
//打印Qt支持的数据库驱动
qDebug()<<:drivers>
可以发现已经有MySQL的驱动啦!
接下来就可以在Qt5.15中正常使用MySQL8.0啦!
5. More
有的人可能不需要第1步,这种情况请直接转到第2步。还有Qt的编译器的位数要和MySQL的位数相同(比如都是64位或者都是32位)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。