Название: Fb driver Отправлено: Jo от Май 28, 2010, 13:19 Может кто нить по пунктам рассказать как подрубить птицу к куту?
Все время пишет: драйвер нот лодед.. поискал по форуму вроде все сделал прально, собрал плагин в папке "D:\Qt\4.5.0\plugins\sqldrivers" появились след файлы: qsqlibased4.exp qsqlibased4.dll qsqlibased4.lib как я понял для дебага и qsqlibase4.exp qsqlibase4.dll qsqlibase4.lib для релиза я их копировал и в папку проекта и куда только не копировал, все пишет драйвер нот лодед Как я понимаю тема избитая, може кто поделится ссылочкой или напишет как пофиксить... вообще мне надо embedded прикрутить, но для начала хотя бы с этим разобраться Зарание благодарен. Название: Re: Fb driver Отправлено: crossly от Май 28, 2010, 13:32 возможно поможет чистка ветки реестра HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.6.false
Название: Re: Fb driver Отправлено: Jo от Май 28, 2010, 14:01 дык надо удалить разделы внутри или что то добавить?
Название: Re: Fb driver Отправлено: crossly от Май 28, 2010, 14:36 удалить весь
Название: Re: Fb driver Отправлено: lit-uriy от Май 28, 2010, 19:05 и при работе программы нужно, чтобы птиц был доступен в окружении (переменная PATH)
Название: Re: Fb driver Отправлено: crossly от Май 31, 2010, 14:01 либо положить dll к exe
Название: Re: Fb driver Отправлено: Jo от Июнь 01, 2010, 12:20 Qt Plugin Cache 4.6.false этот раздел удалил, он появляется снова, дллки доступны в PATH,
но все ровно пишет драйвер нот лодед... Плагины собирал след образом: Открыл в студии проект D:\Qt\4.6.0\src\plugins\sqldrivers\ibase\ibase.pro Подключил папку с хидерами птицы D:\Firebird\Firebird_2_1\include\ Скорпировал fbclient_ms.lib в папку проекта и переименовал ее в gds32_ms.lib Прописал путь к бинарникам птици в PATH. Собрал проект, получил на выходе в этой папке D:\Qt\4.6.0\plugins\sqldrivers\ 3 файла qsqlibase4.dll, qsqlibase4.lib, qsqlibase4.exp тудаже добавил и эти же файлы только с буквой "d" для дебаг версий. После всего проделанного в реестре появился раздел HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.6.false Что это за раздел почему он появляется и что я не так делаю? Очень прошу помощи.... Буду очень благодарен! P.S. Может имеет значение в чем строил? В прошлый раз строил в QtCreator, в этот раз собрал в студии.. (( Название: Re: Fb driver Отправлено: break от Июнь 01, 2010, 14:04 Цитировать Может имеет значение в чем строил? В прошлый раз строил в QtCreator, в этот раз собрал в студии. Имеет значение не в чем в смысле IDE а каким компилятором - если в Creator-е использовался компилятор Microsoft - то без разницы, а вот если minGW то работать не будет. В общем смысле Qt и драйвер должны быть собраны одним компилятором. В линукс для работы драйвера достаточно положить его в папку qt/plugins/sqldrivers а вот в windows не пробовал не разу... Название: Re: Fb driver Отправлено: Jo от Июнь 01, 2010, 14:26 тогда все собрано одним комп.
драйвера лежать в папке D:\Qt\4.6.0\plugins\sqldrivers нарыл такой прмер где надо явно указать расположение плагинов Код: QStringList list_path; но не помогло итого получается что эти файлы есть как в папке программы так и в Qt\plugins\sqldrivers\: qsqlibased4.dll qsqlibased4.lib qsqlibase4.dll qsqlibase4.lib Нужный раздел реестра снесен В переменной PATH указан путь до бинарников FB Результат: Driver not loaded... Ребят кто знает что делать? Может кто скажет кто как по пунктам решал эту проблему или подобную? Название: Re: Fb driver Отправлено: break от Июнь 01, 2010, 16:06 вероятно саму библиотеку плагина Qt находит - но не может ее загрузить т.к. та не находит библиотеку сервера БД - надо выяснить какие библиотеки требуются ей и проверить доступны ли они в path
Название: Re: Fb driver Отправлено: lit-uriy от Июнь 01, 2010, 17:11 >>Ребят кто знает что делать?
Dependency Walker (http://www.dependencywalker.com/) в помощь, запусти в нём свою софтину, он покажет, что и откуда пытается загрузить твоё приложение. Название: Re: Fb driver Отправлено: Jo от Июнь 01, 2010, 19:32 Как то все решилось...
Опишу по шагам: Скопировал fbclient_ms.lib из D:\Firebird\Firebird_2_1\lib и переименовал в fbclient.lib в папку проекта D:\Qt\4.6.0\src\plugins\sqldrivers\ibase\ Затем открыл в QtCreator прокект D:\Qt\4.6.0\src\plugins\sqldrivers\ibase\ibase.pro в конфигурации пректа в разделе этапы сборки в дополнительных параметрах указал такую строчку: -o Makefile INCLUDEPATH+=D:\Firebird\Firebird_2_1\include LIBS+=-lfbclient собрал в режиме дебаг и релиз В результате в папке D:\Qt\4.6.0\plugins\sqldrivers появились нужные файлы qsqlibase4.* и qsqlibased4.* собсно драйвер есть... так же при использовании embedded версии fb необходимо переименовать файл fbembed.dll в fbclient.dll и положить в папку с екзешником.. все должно работать у меня наконец заработало.. ЗЫ так и не понял в чем грабли просто с 5ого раза одних и тех же действий заработало. видно был косяк на этапе сборки Всем огромное спасибо! Тема закрыта |