Ubuntu下mysql与qt连接

按照我之前的安装mysql与qt的教程,直接使用qt和mysql是会报错的
这里附上一段代码,供检查使用

#include "mainwindow.h"
#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("111111");
    if(!db.open()){
    qDebug()<<"Unable to open database";
    }else{
    qDebug()<<"Database connection established";
    }
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

首先我们肯定得在创建的工程的pro文件里加入qt +=sql
Ubuntu下mysql与qt连接_第1张图片
然后再运行的的话报下面的错
QSqlDatabase: QMYSQL driver not loaded
大体意思是就是没有驱动

我们先进入mysql的驱动路径,我的是下图的路径:
在这里插入图片描述
先安装libmysqlclient-dev

sudo apt-get install libmysqlclient-dev
sudo apt-get install libqt5sql5-mysql

然后执行dll语句查看依赖包

  ldd libqsqlmysql.so

我的环境就是缺失箭头所指的地方的这个包(有的版本是.16,下图是我已解决的截图)
原先显示:libmysqlclient_r.so.18 => not found
Ubuntu下mysql与qt连接_第2张图片
我们只需要把这个库下载下来即可,然后放到mysql驱动路径下即可
百度网盘
提取码:5xve

然后直接安装即可

sudo dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb

然后再此尝试发现可以正常使用了
Ubuntu下mysql与qt连接_第3张图片

你可能感兴趣的:(Mysql,Ubuntu)