QSqlDatabase: драйвер QMYSQL не загружен - PullRequest
0 голосов
/ 22 мая 2019

У меня проблема с подключением 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 не загружен

Я уже сделал это также: 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

и здесь у меня есть эта ошибка: Ошибка проекта: Библиотека 'mysql' не определена

Есть идеи?

1 Ответ

0 голосов
/ 28 мая 2019

Обычно, когда вы получаете сообщение об ошибке «драйвер не загружен», проблема заключается в пути к файлу libqsqlmysql.so.

Эта библиотека содержится в папке plugins / sqldrivers вашей установки Qt, и эта папка (sqldrivers) должна быть доступна для вашего исполняемого файла.

Вы должны убедиться, что папка sqldrivers находится в той же папке вашего исполняемого файла (который является одним из путей поиска по умолчанию), или изменить эти пути в вашем коде, используя QCoreApplication :: addLibraryPath

Итак, чтобы подвести итог:

  1. убедитесь, что путь к папке sqldrivers (или измените путь поиска плагина)
  2. убедитесь, что ссылкапротив libmysqlclient (в моей системе libmysqlclient_r это просто ссылка на libmysqlclient)
  3. Попробуйте опубликовать небольшой фрагмент кода, который вам не подходит.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...