QT + MYSQL数据库使用心得
一. 写在前面的话
测试使用的数据库为:mysql-5.5.62-win32
;测试用的Qt大版本为Qt 5,为了验证自己的猜测,使用了几个不同的Qt小版本(Qt5.15.0和Qt5.13.2)以及不同的编译器,如mingw32和mingw64(此处省略版本号,版本号与Qt版本对应)
二.结论
1、使用的MySQL位数要与使用的编译器版本一致,博主使用的均为32位的mingw编译器。
2、使用源码编译出mysql驱动时,要使用对应Qt版本下的源码,否则会报错。
如要使用Qt5.15.0\mingw8.1_32位类库和使用mingw8.1_32位编译器则使用位于
Qt5.15.0\5.15.0\Src\qtbase\plugins\sqldrivers
下的mysql源码进行编译,否则会报错。
3、编译mysql的驱动文件qsqlmysql.dll、qsqlmysql.dll.debug见:
https://blog.youkuaiyun.com/hp_cpp/article/details/105050910
4、最后总结:使用的mysql数据库位数 = 编译器xx的位数
驱动 qsqlmysql.dll、qsqlmysql.dll.debug要使用编译器xx来编译产生。
例子:
编译器:Qt 5.15.0 的mingw8.1 32bit
mysql库文件:mysql-32bit(32位的mysql版本)的lib目录下
过程使用:3、来编译驱动
驱动文件qsqlmysql.dll、qsqlmysql.dll.debug放入Qt5.15.0\5.15.0\mingw81_32\plugins\sqldrivers
32位的mysql 库文件libmysql.dll和libmysql.lib放入Qt5.15.0\5.15.0\mingw81_32\bin