一、开发背景
现在已经有 MySql8.0.33 是 64 位的数据库,仅支持 64 位的程序,但是当前 Qt 程序编译环境是 mingw73_32,所以需要编译 32 位的 MySql 驱动库
二、开发环境
QtCreator4.8.2 + Qt5.12.2 + MySql8.0.33
三、实现步骤
1、下载 MySql C 驱动
参考链接:MySQL :: Download MySQL Connector/C (Archived Versions)
找到文件的核心库文件,后面需要加载这两个文件,32位的库文件
2、修改源码工程 mysql.pro
直接在里面修改.pro文件,工程本身会依赖上层目录环境
(1)注释掉 QMAKE_USE
(2)将之前下载的库添加到工程中,指定依赖的库
(3)指定输出路径 DESTDIR,得到需要的库文件 ,另外有 mkspecs 和 lib 在最外层目录生成,没有指定生成路径,可以编译后删除
(4)拷贝整合下载的库,最后的库文件如下
注意:Qt5.12.2 库已经自带了 MySql 驱动可以直接引用,编译库已经有了
3、拷贝 dll 库到 Qt 安装目录下
直接引用外部库无效,可通过配置工程的环境变量选择路径,
关键文件主要是 libmysql.dll 放在执行目录下,qsqlmysql.dll 放在执行目录的 sqldrivers 路径下