项目场景:ubuntu下qt5和数据库连接失败
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
问题描述
`提示:
在QT项目构建成功后遇到问题:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
表示未加载QMYSQL
原因分析:
提示:缺少依赖或者是qt与mysql的位数不同,一个32位,一个64位的。
解决方案:
提示:1.查看mysql的版本位数使用 mysql -V
我的是64位的,然后qt也是64位的,排除第一种可能。
提示:来到自己的qt的sqldrives目录下查看动态库是否都链接到了
通过ldd libqsqlmysql.so查看动态库连接情况,发现有一个库是not found
去下载缺少的这个依赖
https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1,复制连接去ubuntu下打开firefox粘进去出现如下页面(https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1)
然后下载,下载完成后,回到家目录下的Download也就是你下载文件的目录下,执行
sudo dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb然后去到qt下的sqldrives目录下再次ldd一次,你会发现缺少的库有链接了
问题到此解决,连接打开成功
下面是测试代码
最后一点记得在pro文件中加入 QT += sql
我的是QT += core gui sql,