最近在用 Qt 做东西,要用到数据库。开始是用 SQLite,还好没什么问题,用着很顺利。后来要改用 MySQL,就被折磨了几天。
首先当然是先安装好 Qt,配置好MySQL,建库建表这些。下面分别介绍一下在 Windows 和 Linux 下 Qt 使用 MySQL。
先记录一下在 Windows 下, Qt 5.5.1 msvc2010, MySQL 5.7.12。
网上看到 Qt 以前版本要下载 src,再编译出dll。现在在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 qsqlmysql.dll qsqlmysqld.dll qsqlmysqld.pdb 这些,省不少事。
这时如果直接用,还是不行的,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
解决办法很简单:把 MySQL 安装目录下的 lib\libmysql.dll 复制到 Qt 安装目录下的 bin 目录中即可。
再记录一下在 Linux 下, Qt 5.5.1, MySQL 5.6.24。
在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 libqsqlmysql.so,这时直接用时,与 Windows 一样,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
首先当然是先安装好 Qt,配置好MySQL,建库建表这些。下面分别介绍一下在 Windows 和 Linux 下 Qt 使用 MySQL。
先记录一下在 Windows 下, Qt 5.5.1 msvc2010, MySQL 5.7.12。
网上看到 Qt 以前版本要下载 src,再编译出dll。现在在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 qsqlmysql.dll qsqlmysqld.dll qsqlmysqld.pdb 这些,省不少事。
这时如果直接用,还是不行的,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
解决办法很简单:把 MySQL 安装目录下的 lib\libmysql.dll 复制到 Qt 安装目录下的 bin 目录中即可。
再记录一下在 Linux 下, Qt 5.5.1, MySQL 5.6.24。
在 Qt 5.5.1 的 plugins\sqldrivers 里面已经有 libqsqlmysql.so,这时直接用时,与 Windows 一样,在 QSqlDatabase::addDatabase("QMYSQL"); 这会报 QSqlDatabase: QMYSQL driver not loaded
在 plugins\sqldrivers 目录 ldd

本文探讨了在使用Qt进行开发时,在Windows和Linux环境下遇到MySQL驱动加载失败的问题,具体表现为libmysqlclient_r.so.16库未找到。通过分析,提出了相应的解决方案。
最低0.47元/天 解锁文章
397

被折叠的 条评论
为什么被折叠?



