Qt跨平台,MySQL开源、体积小。如果需要开发具备“数据共享”功能的软件,那Qt、MySQL的结合无疑是一个很优秀的选择,而且Qt官方提供的数据库类支持MySQL。下面就来讲讲Qt、MySQL的环境搭建。
前些日子和一个师弟聊天刚好就聊到这个话题,他想用Qt、MySQL开发一个软件作为毕业设计,但是同时安装了Qt和MySQL却用访问不了MySQL,不得不将MySQL换成SQLite。
“同时安装了Qt和MySQL,但是却访问不了MySQL”总体分为以下2个原因:
①无QMYSQL驱动
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3
②有QMYSQL驱动但仍然不能访问
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITEQMYSQL QMYSQL3QODBC QODBC3
如图:
其实2个原因的解决方案是一样的,根本原因是:QMYSQL驱动加载失败
那么,这里就有一个问题:没有QMYSQL驱动的情况加载失败可以理解,为什么有QMYSQL驱动也会加载失败?
答案:因为Qt和MySQL是来自不同企业的产品,由于MySQL版本的修改和更新,Qt官方默认提供的QMYSQL驱动已经过旧,无法适用新版本的MySQL,也可能是安装的Qt版本过新,MySQL版本过旧的情况,但通常软件都是向下兼容的,因此前者的可能性要更高一些。但是不管是前者还是后者,原因是一样的:QMYSQL驱动和当前的MySQL版本不匹配。怎么解决这个问题呢?MySQL的版本修改和更新会同时更新相应的“库文件”,我们只需要拿当前安装的MySQL中的这个“库文件”来重新编译生成一下QMYSQL驱动,就可以正常访问MySQL了。<