ubuntu下qt5和数据库连接失败,报错QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE
Posted 别碰我的宏定义
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu下qt5和数据库连接失败,报错QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE相关的知识,希望对你有一定的参考价值。
项目场景: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,
以上是关于ubuntu下qt5和数据库连接失败,报错QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动
Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动
QSqlDatabase: QMYSQL driver not loaded 解决方法(debug下正常,release下报错)
ubuntu 下安装oracle 11g r2 报错 [INS-20802] Oracle Database Configuration Assistant 失败