错误现象及原因:

(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驱动扩展工程,驱路径\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所示);

图1. qt的mysql驱动库及调试文件

图2. qt sqldrivers 扩展路径

step 6: 见二;

二、将下面两行mysql 客户端库路径加入到PATH环境变量(可以修改系统环境变量或者通过qt creator项目添加环境变量);

备注: 涉及的文件较多,新手通常找不到相关文件路径;推荐使用everything定位相关文件; 有什么问题欢迎留言交流。