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,

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值