Ubuntu18+Qt5.12.2+MySQL5.7.29出现QSqlDatabase: QMYSQL driver not loaded问题解决
1.报错问题,QSqlDatabase: QMYSQL driver not loaded
2.原因
出现这个问题一般是qt自带的MySQL驱动和安装的MySQL不兼容的问题,网上好多方法是直接重新编译MySQL更换版本,比较麻烦,这里直接查找替换不兼容库,亲测可行且省时省力
3.查找libqsqlmysql.so
sudo find / -name libqsqlmysql.so
/usr/lib/x86_64-linux-gnu/qt4/plugins/sqldrivers/libqsqlmysql.so为MySQL的库
/opt/Qt5.12.2/5.12.2/gcc_64/plugins/sqldrivers/libqsqlmysql.so
和/opt/Qt5.12.2/Tools/QtCreator/lib/Qt/plugins/sqldrivers/libqsqlmysql.so是qt自带的库,后两者是一样的
4.查看libqsqlmysql.so依赖的库
Qt的库缺少libmysqlclient.so.18
5.下载一个libmysqlclient.so.18
https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1
6.下载完安装
sudo dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
现在运行QtCreator发现不再报错,Qt可以正常连接MySQL数据库了