Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Qt : QMYSQL driver not loaded ( Linux )

#mysql #sql #ubuntu #qt


При сборке проекта не возникает ошибок, но в "Выводе приложения"

Вот такие строки: 

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7


Он говорит что QMYSQL не установлен, а потом сам же его предлагает. 

Подключение к базе соответственно не проходит. Подскажите что делать.


Qt 5.4 
Ubuntu 15.04


// .pro

QT       += core gui
QT += network
QT += sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = DBMS_Students
TEMPLATE = app

QTPLUGIN += QSQLMYSQL
SOURCES += main.cpp\
        dbms.cpp \
    students.cpp

HEADERS  += dbms.h

FORMS    += dbms.ui


//

/opt/Qt/5.4/gcc_64/plugins/sqldrivers



libqsqlite.so 
libqsqlmysql.so
libqsqlpsql.so

    


Ответы

Ответ 1



То, о чем уже говорилось в другом вопросе: Cannot load library /opt/Qt/5.5/gcc_64/plugins/sqldrivers/libqsqlmysql.so: (libmysqlclient_r.so.16: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)" Установим libmysqlclient нужной версии: wget http://launchpadlibrarian.net/75954717/libmysqlclient16_5.1.58-1ubuntu1_amd64.deb sudo dpkg -i ./libmysqlclient16_5.1.58-1ubuntu1_amd64.deb Далее смотрим: $ ldd /opt/Qt5.5.1/5.5/gcc_64/plugins/sqldrivers/libqsqlmysql.so linux-vdso.so.1 => (0x00007fff727fe000) libmysqlclient_r.so.16 => not found libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0806de9000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0806baf000) libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f0806995000) libssl.so.10 => not found libcrypto.so.10 => not found Нет нужных dll. Удостоверимся, что libssl установлен: sudo apt-get install libssl1.0.0 Создадим ссылки: cd /lib/x86_64-linux-gnu sudo ln -s libssl.so.1.0.0 libssl.so.10 sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10 Вуаля заработало. Это наверно лишнее: QTPLUGIN += QSQLMYSQL

Ответ 2



Вместе с MySQL поставляется библиотека клиента, путь к которой нужно добавить в переменную окружения Path (или скопировать в папку, уже добавленную в Path). Где в Linux хранится данная библиотека, к сожалению не знаю. Плагины собирать вручную не надо, в этой версии qt они уже собраны.

Ответ 3



Мне помогло установить библиотеку с драйвером mysql for qt5 sudo apt-get install libqt5sql5-mysql

Ответ 4



У меня проблема решилась установкой XAMPP, ничего не прописывал, видимо система сама прописала путь в переменную среды. Но на остальных система ( я ставил на все ( Windows, OS X ) ) проблема так и не решилась.

Комментариев нет:

Отправить комментарий