QSqlDatabase:未加载QMYSQL驱动程序

时间:2019-05-22 01:03:02

标签: linux mysql qt

运行此代码时,Qt与MySql连接时出现问题

    QSqlDatabase DBObject = QSqlDatabase::addDatabase("QMYSQL");
    DBObject.setHostName("localhost");
    DBObject.setDatabaseName("SingleDB");
    DBObject.setUserName("root");
    DBObject.setPassword("abc123");
    bool ok = DBObject.open();

我明白了... QSqlDatabase: QMYSQL driver not loaded

我也已经这样做了: sudo apt-get install libmysqlclient

/home/wrm/Qt/5.12.3/gcc_64/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro

在这里我有这个错误: Project ERROR: Library 'mysql' is not defined

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

通常,当您收到“驱动程序未加载”错误时,问题出在libqsqlmysql.so所在的路径。

该库包含在Qt安装的plugins / sqldrivers文件夹中,并且(sqldrivers)文件夹应可用于您的可执行文件。

您必须确保sqldrivers文件夹与可执行文件位于同一文件夹中(这是默认查找路径之一),或者使用QCoreApplication::addLibraryPath

在代码中更改这些路径。

所以,总结一下:

  1. 确保sqldrivers文件夹的路径(或更改插件查找路径)
  2. 确保也链接到libmysqlclient(在我的系统上,libmysqlclient_r只是到libmysqlclient的链接)
  3. 尝试发布一些对您不起作用的小代码。