Russian Qt Forum

Qt => Общие вопросы => Тема начата: BuRn от Июль 20, 2013, 18:44



Название: Qt 5.1 + mysql[решено]
Отправлено: BuRn от Июль 20, 2013, 18:44
При попытке перевести проект на Qt5.1 появилась проблема. Почему - то не загружен драйвер mysql. В лог сыпется это:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
В папке plugins модуль присутствует. Сам креатор говорит что якобы модуль найден, но не инициализирован. Куда копать?


Название: Re: Qt 5.1 + mysql
Отправлено: Old от Июль 20, 2013, 18:50
А разделяемые библиотеки самого mysql доступны? Где они лежат?


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 20, 2013, 18:52
А разделяемые библиотеки самого mysql доступны? Где они лежат?
На счет доступа не знаю, на qt 4.8 все ок, такой проблемы нет


Название: Re: Qt 5.1 + mysql
Отправлено: lit-uriy от Июль 20, 2013, 21:48
>>На счет доступа не знаю,
их должно быть видно через переменную окружения PATH.

>>Сам креатор говорит что якобы модуль найден, но не инициализирован.
не припомню подобного от Креатора, как он об этом сообщает?


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 20, 2013, 23:15
>>На счет доступа не знаю,
их должно быть видно через переменную окружения PATH.

>>Сам креатор говорит что якобы модуль найден, но не инициализирован.
не припомню подобного от Креатора, как он об этом сообщает?
при инициализации приложения, окно вываливается. Qt Creator 2.8.0


Название: Re: Qt 5.1 + mysql
Отправлено: ритт от Июль 22, 2013, 02:41
@lit-uriy: не в PATH

@BuRn:
какая ОС?
если вантуз, depends.exe в помощь. и тогда наилучшим решением будет положить _правильную_ libmysql.dll в bin Qt (рядом с qmake'ом).


Название: Re: Qt 5.1 + mysql
Отправлено: lit-uriy от Июль 22, 2013, 17:26
Константин, если в PATH нет пути к бинарям мускуля, Драйвер не загрузится (ОСь Виндоуз). проверено на нескольких версиях Qt.


Название: Re: Qt 5.1 + mysql
Отправлено: lit-uriy от Июль 22, 2013, 17:28
если вантуз, depends.exe в помощь. и тогда наилучшим решением будет положить _правильную_ libmysql.dll в bin Qt (рядом с qmake'ом).
зачем засорять каталог Qt посторонними вещами?
И при распространении программы таскать ibmysql.dll со своим приложением?


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 22, 2013, 19:09
@lit-uriy: не в PATH

@BuRn:
какая ОС?
если вантуз, depends.exe в помощь. и тогда наилучшим решением будет положить _правильную_ libmysql.dll в bin Qt (рядом с qmake'ом).
увы, не вантус, *nix


Название: Re: Qt 5.1 + mysql
Отправлено: ритт от Июль 22, 2013, 20:58
@lit-uriy: не в PATH

@BuRn:
какая ОС?
если вантуз, depends.exe в помощь. и тогда наилучшим решением будет положить _правильную_ libmysql.dll в bin Qt (рядом с qmake'ом).
увы, не вантус, *nix
тогда ldd программе и плагину - и скопипастите сюда )

если вантуз, depends.exe в помощь. и тогда наилучшим решением будет положить _правильную_ libmysql.dll в bin Qt (рядом с qmake'ом).
зачем засорять каталог Qt посторонними вещами?
И при распространении программы таскать ibmysql.dll со своим приложением?
лучше заставлять юзверя устанавливать общесистемный сервер?:)
базу (или её описание - для создания) всё-равно ведь тянуть с софтиной придётся...


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 23, 2013, 18:56
ldd на бинарник: http://paste.org.ru/?fosxeu
ldd на либу : http://paste.org.ru/?dh1uan
На днях переставил никсы, ничего не поменялось, проект собраться собрался, а вот проблема осталась прежняя.


Название: Re: Qt 5.1 + mysql
Отправлено: Old от Июль 23, 2013, 19:07
libmysqlclient_r.so.16 => not found


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 23, 2013, 19:31
libmysqlclient_r.so.16 => not found

Код:
root@burn-Aspire-5742G:~# locate libmysqlclient
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
/usr/share/doc/libmysqlclient18
/usr/share/doc/libmysqlclient18/changelog.Debian.gz
/usr/share/doc/libmysqlclient18/copyright
/var/cache/apt/archives/libmysqlclient18_5.5.31-0ubuntu0.13.04.1_amd64.deb
/var/lib/dpkg/info/libmysqlclient18:amd64.list
/var/lib/dpkg/info/libmysqlclient18:amd64.md5sums
/var/lib/dpkg/info/libmysqlclient18:amd64.postinst
/var/lib/dpkg/info/libmysqlclient18:amd64.postrm
/var/lib/dpkg/info/libmysqlclient18:amd64.shlibs
root@burn-Aspire-5742G:~#


Название: Re: Qt 5.1 + mysql
Отправлено: Old от Июль 23, 2013, 19:41
ldconfig -p | grep mysql


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 23, 2013, 19:54
ldconfig -p | grep mysql

Ну... это логично было бы увидеть:
Код:
libmysqlclient.so.18 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18


Название: Re: Qt 5.1 + mysql
Отправлено: Old от Июль 23, 2013, 20:00
Стоп, библиотека ждет .so.16 а установлена .so.18
Думаю символическая ссылка спасет отца русской демократии.
Ну или пересобрать драйвер для новой версии mysql.


Название: Re: Qt 5.1 + mysql
Отправлено: BuRn от Июль 23, 2013, 20:18
Стоп, библиотека ждет .so.16 а установлена .so.18
Думаю символическая ссылка спасет отца русской демократии.
Ну или пересобрать драйвер для новой версии mysql.
Да, ссылка действительно помогла, спасибо большое, проблема решена