Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
4 / 4 / 5
Регистрация: 19.08.2016
Сообщений: 137
1

Сборка драйвера QMYSQL

06.11.2017, 08:48. Показов 3519. Ответов 6

Author24 — интернет-сервис помощи студентам
Привет всем!
Второй день пытаюсь выполнить сабж, ничего не выходит. В интернете довольно много противоречивой информации, львиная доля которой предназначена для пользующихся графической оболочкой. У меня, к сожалению, таковой нет, но я уверен, что должны быть способы и для меня)

Итак, Ubuntu Server 16.04, ставил Qt так:
Код
apt-get install qt-default
Смотрим, что поставилось:
Код
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
По адресу "/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers" существует один файл: "libqsqlite.so".

Если сейчас я пробую подключиться к БД MySQL, то вижу предупреждения:
Код
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
Узнал, что нужно собрать драйвер QMYSQL. В официальной документации Qt написаны следующие рецепты:
Код
cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
make
Код
cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
make install
Что не может работать хотя бы потому, что директории "mysql" в директории "sqldrivers" у меня нет, и тем более там нет файла mysql.pro. Что такое "-lmysqlclient_r" я до сих пор не знаю.

Скачал "libqsqlmysql.so" командой "apt-get install libqt4-sql-mysql", файл установился в директорию Qt4, я его скопировал к "libqsqlite.so". Пересобрал код - ноль изменений.

Далее вообще так сделал:
C++ (Qt)
1
2
3
QPluginLoader loader;
loader.setFileName("/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so");
*cout << loader.errorString() << endl;
Текст ошибки: "Plugin verification data mismatch in '/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so".

Из одного источника узнал, что для сборки нужны библиотеки mysql. По адресу "/usr/lib/x86_64-linux-gnu" у меня, в числе прочего, есть:
Код
libmysqlclient.a
libmysqlclient.so@
libmysqlclient.so.20@
libmysqlclient.so.20.3.7
Надеюсь, что это они. На всякий случай поставил ещё и "libmysql++-dev". Наверное, больше ничего полезного указать и не смогу. Пытался следовать некоторым инструкциям из интернета, но ни одна из них не привела меня хоть к какому-нибудь результату.

Пожалуйста, подскажите, каким образом мне можно подключить Qt к MySQL

Добавлено через 3 часа 5 минут
Хм, заметил, что тема в разделе дублируется несколько раз. Походу это из-за лагов форума, вчера вечером не получалось зайти.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2017, 08:48
Ответы с готовыми решениями:

Сборка драйвера для Mysql в ubuntu18.04 (QSqlDatabase: QMYSQL driver not loaded)
Здравствуйте, не могу никак собрать драйвер для mysql. пытаюсь делать по этой инструкции:...

Создание драйвера QMYSQL для QT
Привет, имею OC Windows 7 Установил MySQL 5.5 экзешником. Так же установил отсюда...

Сборка приложения с плагином QMYSQL
Доброго времени суток. Собрал для QT плагин драйвера mysql. Получил файлы qsqlmysql4 и qsqlmysqld4....

Подключение QMySQL плагина и ошибка "QMySQL driver not loaded"
Сделал все как указано здесь https://www.cyberforum.ru/post3643793.html Все получилось, ошибок...

6
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
06.11.2017, 19:54 2
Это драйвер должен быть готовый в репозитории. В Debian есть пакеты libqt4-sql-mysql и libqt5sql5-mysql. Через apt-file поищи "sqlmysql".
0
4 / 4 / 5
Регистрация: 19.08.2016
Сообщений: 137
07.11.2017, 08:42  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
libqt5sql5-mysql
Ё моё как же просто! Но почему об этом нигде не сказано
Вот Вы, например, откуда это узнали?
0
20 / 20 / 5
Регистрация: 19.12.2012
Сообщений: 74
07.11.2017, 08:56 4
Попробовать установить пакет libqt5sql5-mysql, как посоветовал nmcf. Или скачать исходники Qt c их репозитория или архивом и собрать модуль самостоятельно. Напрмер, в исходниках версии 5.6.2 (стоит у меня) исходный код плагина присутсвует.
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
07.11.2017, 09:16 5
Цитата Сообщение от Nell_core Посмотреть сообщение
откуда это узнали
Предположил.
0
4 / 4 / 5
Регистрация: 19.08.2016
Сообщений: 137
07.11.2017, 15:52  [ТС] 6
Цитата Сообщение от nmcf Посмотреть сообщение
Предположил
Про libqt4-sql-mysql есть информация в интернете. Но предположить, что пакет под пятую версию будет называться libqt5sql5-mysql я не мог
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
07.11.2017, 15:54 7
apt-file для поиска. Нужно только знать примерно имя.
0
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru