Название: Драйвер для MariaDB (Ubuntu 18) Отправлено: rudireg от Ноябрь 22, 2020, 18:51 Всем привет.
Есть код подключения к БД MariaDB (https://i.ibb.co/1qdcs1g/011.png) Код: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb"); Получаю ошибку Цитировать QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7 Из ошибки понятно что нужен драйвер для MySQL У меня Ubuntu 18.04.4 LTS (https://i.ibb.co/B4PDvJT/007.png) (https://i.ibb.co/jTNcjYX/009.png) Нашел где лежат файлы MySql /usr/include/mysql (https://i.ibb.co/PcJqTvX/010.png) иду по пути где лежат плагины /home/rudi/Qt/5.11.2/Src/qtbase/src/plugins/sqldrivers/mysql Оттуда запускаю кманду qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient" mysql.pro Получаю такой вывод /home/rudi/Qt/5.11.2/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri:4: Unknown replace function: shadowed WARNING: /home/rudi/Qt/5.11.2/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri:4: Unable to find file for inclusion /qtsqldrivers-config.pri WARNING: /home/rudi/Qt/5.11.2/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri:7: Unable to find file for inclusion qt_plugin Project MESSAGE: Warning: unknown QT: core-private Project MESSAGE: Warning: unknown QT: sql-private Подскажите что не так? Как мне сделать драйвер? Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: qate от Ноябрь 23, 2020, 12:08 какаято вакханалия версий штатное qt 5.9, поставлено 5.11.2, креатор еще свежее
в составе qt драйвера БД уже собран, но при запуске он не находится Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: rudireg от Ноябрь 23, 2020, 21:46 какаято вакханалия версий штатное qt 5.9, поставлено 5.11.2, креатор еще свежее в составе qt драйвера БД уже собран, но при запуске он не находится У меня есть папки /home/rudi/Qt/5.9.9 /home/rudi/Qt/5.11.2 Пока что взял и переименовал папку /home/rudi/Qt/5.9.9 на другое имя /home/rudi/Qt/5.9.9__old Сборка драйвера по прежнему не запускается как надо... Но зато программа подключается к базе MariaDB без ошибок. ;D Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: qate от Ноябрь 24, 2020, 12:27 да нинада ничего собирать, всё собрано до нас ) , если конечно это не самоцель
я кто тому, что если тебе именно надо под 18.04, то и бери штатный qt 5.9 (или какой он там), зачем более свежие qt поставил ? если надо свежий qt - ставить 20.04 или 20.10 Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: Авварон от Ноябрь 24, 2020, 12:59 драйвер иногда надо пересобирать - из-за зоопарка библиотек он может не находить libmysql.so (она может внезапно называться libmariadb.so).
ldd на плагин в помощь - можно просто сделать симлинк с правильным именем. это непереносимое решение, но самое простое. Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: Авварон от Ноябрь 24, 2020, 13:01 а не, поправка - плагин больше не собирается по дефолту (там что-то с лицензией как я припоминаю)
Код: $ ll ~/Qt/5.15.1/gcc_64/plugins/sqldrivers/ Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: Авварон от Ноябрь 24, 2020, 13:03 Вот мануал (https://doc.qt.io/qt-5/sql-driver.html#qmysql) как собирать драйвер.
если меняете что-то, надо удалять qmake.stash и прочие файлики которые оно создает (иначе оно кеширует резуьтат конфигурации и по факту ничего не меняется) Название: Re: Драйвер для MariaDB (Ubuntu 18) Отправлено: qate от Ноябрь 24, 2020, 14:48 а не, поправка - плагин больше не собирается по дефолту (там что-то с лицензией как я припоминаю) у ТС старая qt, там всё было собрано (хотя он не объяснил зоопарк версий) на 20.04 есть пакет libqt5sql5-mysql |