Russian Qt Forum

Qt => Базы данных => Тема начата: SadSido от Декабрь 01, 2008, 00:41



Название: И ещё немного о плагине IBASE
Отправлено: SadSido от Декабрь 01, 2008, 00:41
Добрый день / вечер всем форумчанам!

Уже третий день к ряду этот плагин IBASE обладает моим мозгом. Я прочитал все возможные посты относительно того, как его компилировать и, наконец, он собрался. В папке %QTDIR%\plugins\sqldrivers\ появились вожделенные qsqlibased4.dll, qsqlibase4.dll, qsqlibased4.а и qsqlibase4.а.

Тем не менее, стоит мне запустить Examples and Demos, я сразу получаю ошибку. Заголовок окна: Microsoft Visual C++ Runtime Library, Сообщение: R6034 An application has made an attempt to load the C runtime library incorrectly. При запуске SQL Browser эта ошибка вылезает повторно. Плагина IBASE в списке нету...

Пожалуйста, объясните в чём тут дело?

MinGW, Firebird 2.1, Qt 4.4.3
Похожая тема есть здесь: http://www.prog.org.ru/topic_7033_0.html, но там у человека проблемы с подключением БД из кода программы. Я же не могу даже SQL Browser посмотреть! Заранее, большое спасибо!


Название: Re: И ещё немного о плагине IBASE
Отправлено: SadSido от Декабрь 01, 2008, 00:51
Вдогонку, дополнительная информация.

ОС: Windows XP home. Все требуемые пути присутствуют в PATH. В WINDOWS\SYSTEM32 лежат всевозможные msvcr**.dll, в том числе 80 и 71. Там же есть fbclient.dll.


Название: Re: И ещё немного о плагине IBASE
Отправлено: ритт от Декабрь 01, 2008, 00:59
какая связь между MinGW и m$vc?


Название: Re: И ещё немного о плагине IBASE
Отправлено: lit-uriy от Декабрь 01, 2008, 07:13
здается мне, что Qt штатно собрана MinGW'ой, однако непонятно чем собран плагин, студией чтоли?


Название: Re: И ещё немного о плагине IBASE
Отправлено: agatsky_den от Декабрь 01, 2008, 07:23
При сборке плагина QIBASE нужно:
1. Сдеть копию файа fbclient_ms.lib и назвать gds32_ms.lib в "C:\Program Files\Firebird\Firebird_2_1\lib\"
2. Пересобрать Qt с флагами
configure -qt-sql-ibase -release -shared -I "c:\Progra~1\Firebird\Firebird_2_1\include" -L "c:\Progra~1\Firebird\Firebird_2_1\lib"


Название: Re: И ещё немного о плагине IBASE
Отправлено: SadSido от Декабрь 01, 2008, 11:56
Чем собрана Qt - затрудняюсь ответить, так как ставил её из дистрибутива, скачанного с Trolltech. Сам плагин собирал с помощью MinGW. Именно так, переименовывая fbclient в gds32. Плагин собрался! Неужели теперь придётся пересобирать Qt?

Какая связь между MinGW и msvc? Я и сам хотел бы знать... Ошибку-то выдаёт с заголовком MS C++ Runtime library. Кроме того, тут в топиках фигурировала фраза, что firebird до версии 2.0.3. слинкован с msvcr71.dll, а старшие версии - с msvcr80.dll. Я думал, что может дело в этом...

p.s.
Это моя первая "взрослая" проблема в Qt. До этого я писал небольшие движки на OpenGL и прикручивал их к виджетам - и мир Qt казался мне верхом совершенства (после Delphi). Сейчас у меня уже есть определённые сомнения 8)


Название: Re: И ещё немного о плагине IBASE
Отправлено: lit-uriy от Декабрь 01, 2008, 12:07
Дистриб трольтеха собран с помощью MinGW32.


Название: Re: И ещё немного о плагине IBASE
Отправлено: Tonal от Декабрь 02, 2008, 08:53
2.1 действительно собран с msvcr80.dll.
Поэтому на машине должен быть установлен соответствующий рантайм от MS.

Попробуй запустить штатный клиент - isql, или IBExpert.


Название: Re: И ещё немного о плагине IBASE
Отправлено: SadSido от Декабрь 02, 2008, 13:49
Штатный клиент работает и подключается к стандартному примеру Employee.fbd, поставляемому с firebird. Проблема, как я понимаю, с собранным плагином. Библиотека msvcr80.dll у меня есть. Я так понимаю, что это и есть MS Visual C Runtime...

Кажется, я понял тонкий смысл девиза Trolltech: "Code Less, Create More". Я насоздавал уже целый взвод этих плагинов, но так и не смог приступить к кодированию...


Название: Re: И ещё немного о плагине IBASE
Отправлено: ритт от Декабрь 02, 2008, 14:58
ага-ага, заговор Троллей против СадСидо...

хрюша сп2, мингв (текущий), птица 2.1.0.17798 - отлично собирается, запускается и работает без всякого шаманства.


Название: Re: И ещё немного о плагине IBASE
Отправлено: SadSido от Декабрь 02, 2008, 18:16
Гхм... Кажется, я понял, откуда тут ноги растут... У меня Win XP SP1(!). На работе XP SP2, и тоже всё проходит в штатном режиме... Так, что Тролли, скорее всего, не виноваты.

Спасибо всем за участие!