Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: fland от Апрель 29, 2010, 22:46



Название: help + qt assistant + sqlite error
Отправлено: fland от Апрель 29, 2010, 22:46
Собственно вводна. Нужна в моем приложении помощь. Решил использовать под это дело qt assistant - вроде как ключевые слова и т.п. вещи - удобно + опыт работы полезен. Проект создан без поддержки sql  (каюсь сразу не почитал, что она нужна). Потом просто в файл проекта добавил:

QT += sql

не уверен, что это полечит sql, но вроде как бы должно...

Сгенерил помощь. Потом в программе зову assistant. Все фурычит хорошо.

Решил попробовать на другой машине. Скопировал assistant в папку с экзешником. Туда же саму помощь. Запускаю assistant - фигушки: "Cannot load sqlite database driver". И не поднимается. Пробовал копировать все нужные для assistant'а dll к своему приложению (посмотрел их с помощью Dependency Walker, вообще говоря был несколько удивлен их большим количеством и соотвественно размером :( ). Но это assistant'у не помогло. Все равно ругался на sqlite драйвера.

Я отдаленно догадываюсь, что assistant, наверное, было бы неплохо самому пересобрать в static и тогда он бы полечился, но что скажут знающие люди?

upd невероятно, но факт, добавление libgcc_s_dw2-1.dll, mingwm10.dll, phonon4.dll, QtAssistantClient4.dll, QtCLucene4.dll, QtCore4.dll, QtGui4.dll, QtHelp4.dll, QtNetwork4.dll, QtSql4.dll, QtWebKit4.dll, QtXml4.dll, QtXmlPatterns4.dll спасли дело. Теперь assistant запускается. Правда это машина с qt, но из path ради эксперимента был убран путь к qt/bin и таки работает. В чем была тогда трабла - мистика.

Пока считаем вопрос исчерпанным.


Название: Re: help + qt assistant + sqlite error
Отправлено: crossly от Май 03, 2010, 09:56
судя по тому что ругалось на драйвер БД.... достаточно было добавить QtSql4.dll


Название: Re: help + qt assistant + sqlite error
Отправлено: fland от Май 03, 2010, 21:03
судя по тому что ругалось на драйвер БД.... достаточно было добавить QtSql4.dll

там вообще как-то грустно, сначала добавлял, но ему не помогло. Потом вроде полечилось, но остальные все равно нужны - по неведомым мне причинам assistant зависит от тех библиотек


Название: Re: help + qt assistant + sqlite error
Отправлено: Kagami от Май 05, 2010, 19:59
Вообще-то надо создать в директории с программой директорию sqldrivers и туда положить qsqlite4.dll. Ну и про нужные библиотеки Qt  + libgcc_s_dw2-1.dll и mingwm10.dll рядом с исполняемым файлом не забывай :)


Название: Re: help + qt assistant + sqlite error
Отправлено: fland от Май 12, 2010, 14:12
Вообще-то надо создать в директории с программой директорию sqldrivers и туда положить qsqlite4.dll. Ну и про нужные библиотеки Qt  + libgcc_s_dw2-1.dll и mingwm10.dll рядом с исполняемым файлом не забывай :)
кстати да, без папки sqldrivers счастья нет, вообще никакого. Спасибо


Название: Re: help + qt assistant + sqlite error
Отправлено: crossly от Май 12, 2010, 14:14
об этом сказано в документации....


Название: Re: help + qt assistant + sqlite error
Отправлено: fland от Май 12, 2010, 14:37
об этом сказано в документации....
покажите ссылку?
вроде как здесь говорят про assistant - http://doc.trolltech.com/4.6/assistant-custom-help-viewer.html , но при плагины ничего - скромно сказали мол ищите в нашей помощи в разделе плагины, после долгих гуляний дошел до: http://doc.trolltech.com/4.6/deployment-windows.html#creating-the-application-package но и здесь ессно про sqlite плагины не говорят.. :(


Название: Re: help + qt assistant + sqlite error
Отправлено: crossly от Май 12, 2010, 14:50
Qt Assistant Deploying Plugins


Название: Re: help + qt assistant + sqlite error
Отправлено: fland от Май 12, 2010, 15:03
Qt Assistant Deploying Plugins
эм, ни по одной из них: http://www.google.com/#hl=en&source=hp&q=Qt+Assistant+Deploying+Plugins&btnG=Google+Search&aq=f&aqi=&aql=&oq=Qt+Assistant+Deploying+Plugins&gs_rfai=&fp=207bedf0a3e4019d не сказали, что нужно скопировать папку sqldrivers в папку release...


Название: Re: help + qt assistant + sqlite error
Отправлено: crossly от Май 12, 2010, 15:11
в асистенте пробовали смотреть.. ??
Цитировать
The Plugin Directory

When the application is run, Qt will first treat the application's executable directory as the pluginsbase. For example if the application is in C:\Program Files\MyApp and has a style plugin, Qt will look in C:\Program Files\MyApp\styles. (See QCoreApplication::applicationDirPath() for how to find out where the application's executable is.) Qt will also look in the directory specified by QLibraryInfo::location(QLibraryInfo::PluginsPath), which typically is located in QTDIR/plugins (where QTDIR is the directory where Qt is installed). If you want Qt to look in additional places you can add as many paths as you need with calls to QCoreApplication::addLibraryPath(). And if you want to set your own path or paths you can use QCoreApplication::setLibraryPaths(). You can also use a qt.conf file to override the hard-coded paths that are compiled into the Qt library. For more information, see the Using qt.conf documentation. Yet another possibility is to set the QT_PLUGIN_PATH environment variable before running the application. If set, Qt will look for plugins in the paths (separated by the system path separator) specified in the variable.