ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)

ubuntu deepin debain Qt编译mysql驱动

一、下载mysql

sudo apt install mysql-client mysql-server libmysqld-dev libmysqlcppconn-dev

二、如果没有安装QT,先安装qt

  • 可以使用清华源下载,地址
  • qt安装过程中勾选
    ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第1张图片
  • 或者单独下载qt源代码
    ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第2张图片

三、打开qt-everywhere-src-5.14.0/qtbase/src/plugins/sqldrivers/mysql

ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第3张图片

  • 用编辑器打开mysql.pro文件,注释掉 QMAKE_USE += mysql

四、打开qt-everywhere-src-5.14.0/qtbase/src/plugins/sqldrivers 中的qsqldriverbase.pri

ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第4张图片

  • 注释include 那一行
    ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第5张图片

五、确认存在 /usr/include/mysql 路径,获取其他mysql路径(其他路径的自行确认是否可用),以及/usr/lib、x86_64-linux-gnu 中是否有libmysqlclient.so.20.3.16(后面数字可以不同)

  • 命令行执行 sudo ln -s libmysqlclient.so.20.3.16 libmysqlclient_r.so

六、回到qt-everywhere-src-5.14.0/qtbase/src/plugins/sqldrivers/mysql

  • 命令行执行
    sudo /home/lu/Qt5.14.0/5.14.0/gcc_64/bin/qmake “INCLUDEPATH+=/usr/include/mysql/” “LIBS+=-L/usr/lib/X86_64-linux-gun/ -l libmysqlclient” mysql.pro
    在这里插入图片描述
  • 自行修改自己的路径
  • 命令行 make
  • 在qt-everywhere-src-5.14.0/qtbase/src/plugins/sqldrivers/plugins/sqldrivers中查看是否有两个文件
    ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第6张图片
  • 复制到 用户名/Qt5.14.0/5.14.0/gcc_64/plugins/sqldrivers(你的qt安装路径,自行修改)

七、测试一下

ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决)_第7张图片

void Widget::on_pushButton_clicked() {
  if (QSqlDatabase::contains("testcon")) {
    database = QSqlDatabase::database("testcon");
  } else {
    database = QSqlDatabase::addDatabase("QMYSQL", "testcon");
    database.setHostName("127.0.0.1");
    database.setPort(3306);
    database.setUserName("用户名");//你的用户
    database.setPassword("密码");//你的密码
  }
  if (database.open()) {
    ui->pushButton->setText("已经连接");
  }
}

你可能感兴趣的:(ubuntu deepin debain Qt5编译mysql驱动(qmysql driver not loaded解决))