Qt 5.5缺少MYSQL驱动程序

时间:2015-12-12 09:18:17

标签: mysql qt qt-creator

今天我开始使用Qt 5.5,我的第一个项目是将GPS相关数据从MYSQL数据库中获取并发送到另一台服务器。问题是我与libqmysql.so驱动程序文件存在链接问题。我照看了如何解决问题,到目前为止我做了以下步骤:

  • 我将所有文件(libqmysql.so和其他驱动程序)复制到/usr/lib/i386-linux-gnu/qt5/plugins/sqldrivers/home/magyarg/Qt5.5.1/5.5/gcc/plugins/sqldrivers
  • 我运行ldd libqmysql.so来检查需要哪些依赖项;我得到了以下结果:

enter image description here 根据此结果,我安装了libssllibmysqlclient18

问题:

完成这些步骤后,Qt Creator仍然会将错误抛给我:

  

QSqlDatabase:未加载QMYSQL驱动程序
  QSqlDatabase:可用的驱动程序:QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

环境:

  • Ubuntu Linux 15.04(x86)
  • Qt5.5

相应的代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QApplication>
#include <QtSql>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setDatabaseName("ugyfelhivo");
    db.setUserName("root");
    db.setPassword("pass");
    bool ok = db.open();
    if (ok == true) {
        QLabel label;
        label.setText("Macska");
    }
}

1 个答案:

答案 0 :(得分:0)

此解决方案通常用于加载QMYSQL:

cd /usr/lib/i386-linux-gnu/
sudo ln -s libmysqlclient_r.so.18 libmysqlclient_r.so.16