MYSQL driver not loaded Ubuntu下解决记录!

配置:Ubuntu18.04 

测试代码:

    QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("video_manager");
    db.setUserName("root");
    db.setPassword("123456");
    if(db.open()) qDebug()<<"success";
    else qDebug()<<"fail";

这里希望验证是否打开了mysql连接,并且显示有多少sql驱动可用,一致显示下面的错误信息:

QSqlDatabase: MYSQL driver not loaded

但也显示有Qsqlite qodbc等驱动可用,因此可以判断是mysql的依赖有问题,在网上查询,定位到是libqmysql.so的问题。

解决方案

1. 查看路径  ~/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers ,发现并没有libqmysql.so

2. 查看mysql已正常安装,相关包正常

3.编译libqmysql.so。 这里需要在安装Qt时将source勾选,具体可百度。

进入~/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/mysql

执行 sudo gedit ./mysql.pro,修改这个文件 最后添加一行 INCLUDEPATH += /usr/include/mysql

4.执行 sudo qmake mysql.pro ,这里要先确认下qmake -v,看一看qmake的路径是不是QT安装目录

5.可能会出现 qsqldriverbase.pri 找不到的问题,这时候返回上一级目录  然后执行qmake,成功编译后就可以重新进行第4步

6. 第4步执行完毕后,执行 make命令,然后执行make install命令,至此,libqmysql.so已经自动生成到了步骤1提到的文件夹,qt中再次运行测试代码,成功连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值