错误现象及原因:
(1)qt SQL模块已默认不编译mysql驱动,导致mysql驱动缺失,错误提示如下(可用数数据库驱动不含mysql驱动,执行方法一和二);
(2)已编译mysql驱动扩展并加入到相应目录,但仍无法mysql加载驱动,错误信息如下(qt提示数据库驱动可用,但无法加载mysql驱动,直接执行方法二);
解决方法:
一、 编译qt中的mysql数据库驱动扩展,并将编译后的扩展加入qt数据库驱动扩展目录;
step 0: 下载mysql数据库的C驱动,由于MySQL最新版本不单独提供C驱动,所以需要完整安装mysql server;
step 1: 使用qt维护工具下载qt源码,使用qt creator 打开 mysql驱动扩展工程,驱路径 <QT_HOME>\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro;
改动: 注释掉第6行,添加第13、15、16行;(根据mysql驱动的实际路径修改)
step 3: 修改qsqldriverbase.pri文件,注释掉第4行,添加第5行;
step 5: 构建及安装: 将编译产生的dll等文件(如图1所示)复制到qt sql驱动扩展目录(如图2所示);
step 6: 见二;
二、将下面两行 mysql 客户端库路径加入到PATH环境变量(可以修改系统环境变量或者通过qt creator项目添加环境变量);
备注: 涉及的文件较多,新手通常找不到相关文件路径;推荐使用 everything 定位相关文件; 有什么问题欢迎留言交流。