Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Разработка баз данных _ (еще раз) MySql & Qt SDK 4.7 на OpenSUSE 11.3

Автор: bvn13 17.12.2010, 23:43

Уважаемые, не пинайте сильно и на засылайте далеко в гугл. Читал, пробовал,
http://doc.crossplatform.ru/qt/4.3.2/sql-driver.html#how-to-build-the-qmysql-plugin-on-unix-and-mac-os-x сделал, но проект все равно не находит мускульного драйвера... :(

Что сделать, чтобы заработали драйвера?

____
OpenSUSE 11.3
MySQL server локально
Qt SDK 4.7

Автор: bvn13 18.12.2010, 14:00

пересобрал из исходников - та же песня.
В чем подвох?

Автор: xls 20.12.2010, 13:13

Цитата(bvn13 @ 18.12.2010, 14:00) *
пересобрал из исходников - та же песня.
В чем подвох?

Цитата
Вы должны всегда использовать библиотеки клиента, которые были собраны тем же компилятором, который вы используете для своего проекта. Если вы не можете получить описание источника сборки библиотеки клиента самостоятельно, попробуйте удостовериться, что предсобранная библиотека совместима с вашим компилятором, иначе вы получите множество ошибок "undefined symbols". Некоторые компиляторы имеют инструменты для преобразования библиотек, например, Borland предоставляет инструмент COFF2OMF.EXE для преобразования библиотек, которые были собраны в Microsoft Visual C++.

Если компиляция плагина прошла успешно, но он не может быть загружен, убедитесь в том, что следующие требования выполнены:
Убедитесь, что вы используете Qt библиотеку динамически; вы не может использовать плагины в статической сборке.
Убедитесь, что плагин в правильной директории. Можно использовать QApplication::libraryPaths(), чтобы определить, где Qt ищет плагины.
Убедитесь, что клиентские библиотеки СУБД доступны. Под Unix, выполните команду ldd и введите имя плагина в качестве параметра, например: ldd libqsqlmysql.so. Вы получите предупреждение, если какая-то из клиентских библиотек не найдена. Под Windows, вы можете использовать Visual Studio dependency walker.
Скомпилируйте Qt с установленным QT_DEBUG_COMPONENT, чтобы получить более подробную отладочную информацию во время загрузки плагинов.

Если у вас возникли проблемы с загрузкой плагинов и вы видите ошибку вроде этой:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QMYSQL

проблема, вероятно, в том, что плагин имеет неправильный ключ сборки. Для отладки удалите соответствующую запись в файле $HOME/.qt/qt_plugins_(qtversion).rc.

После чего снова попытайтесь загрузить этот плагин, и вы получите более детальное описание ошибки.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)