Название: Driver sqlite [SOLVED] Отправлено: nata267 от Январь 18, 2011, 14:47 Не подскажете как можно собрать драйвер sqlite на основе библиотеки sqlite3.dll??
Название: Re: Driver sqlite Отправлено: Sahab от Январь 18, 2011, 15:13 раскрыть мысль более широко можно?
Название: Re: Driver sqlite Отправлено: nata267 от Январь 18, 2011, 15:35 вот проект плагина драйвера, который есть в папке
QTDIR\src\plugins\sqldrivers\sqlite Код: TARGET = qsqlite т.е. он собирается из исходника sqlite3.c, а мне нужно на основе либы sqlite3.dll, так вот я пробовала закоментить строчку SOURCES += ../../../3rdparty/sqlite/sqlite3.c и скомпилировать так cd %QTDIR%\src\plugins\sqldrivers\sqlite qmake "INCLUDEPATH+=../../../3rdparty/sqlite" "LIBS+=-L../../../3rdparty/sqlite -lsqlite3" mingw32-make в папке ../../../3rdparty/sqlite у меня есть sqlite3.dll, libsqlite3.a и заголовочные файлы sqlite3.h... получается скомпилировать qsqlited4.dll, libqsqlited4.a, кладу их в папку sqldrivers относительно екзэшника приложения, но при запуске пишет driver not loaded sqlite3.dll кладу рядом с экзешником Название: Re: Driver sqlite Отправлено: Paullo от Январь 18, 2011, 20:41 Вообще то SQlite разрабатывалась как встроеная база данных и рассчитана на то чтобы её всегда вкомпиливали внутрь приложения.
За счёт этого - производительность и экономия ресурсов. Это так, на всякий случай. Название: Re: Driver sqlite Отправлено: DmP от Январь 18, 2011, 22:50 вот проект плагина драйвера, который есть в папке Как и писал раннее, ни чего комментировать для сборки плагина не надо, достаточно указать опцию system-sqlite. Собственно, это и так видно в файле который приведен выше.QTDIR\src\plugins\sqldrivers\sqlite Код: !system-sqlite:!contains( LIBS, .*sqlite.* ) { так вот я пробовала закоментить строчку SOURCES += ../../../3rdparty/sqlite/sqlite3.c и скомпилировать так cd %QTDIR%\src\plugins\sqldrivers\sqlite qmake "INCLUDEPATH+=../../../3rdparty/sqlite" "LIBS+=-L../../../3rdparty/sqlite -lsqlite3" mingw32-make в папке ../../../3rdparty/sqlite у меня есть sqlite3.dll, libsqlite3.a и заголовочные файлы sqlite3.h... Цитировать получается скомпилировать qsqlited4.dll, libqsqlited4.a, кладу их в папку sqldrivers относительно екзэшника приложения, но при запуске пишет driver not loaded Нужно проверить, собрана ли программа и плагин одним компилятором и с одинаковой целью (RELEASE/DEBUG). Если это не поможет, то с помощью Dependency Walker проверить зависимости библиотек sqlite и плагина.sqlite3.dll кладу рядом с экзешником Название: Re: Driver sqlite Отправлено: nata267 от Январь 19, 2011, 09:23 Вообще то SQlite разрабатывалась как встроеная база данных и рассчитана на то чтобы её всегда вкомпиливали внутрь приложения. За счёт этого - производительность и экономия ресурсов. Это так, на всякий случай. эта встроенная база не поддерживает icu расширение, стала бы я столько мучиться если бы у меня не было с ней проблем Название: Re: Driver sqlite Отправлено: nata267 от Январь 19, 2011, 12:19 нашла вот что по ссылке http://doc.trolltech.com/4.1/sql-driver.html#qsqlite-for-sqlite-version-3-and-above
Цитировать How to Build the Plugin SQLite version 3 is included as a third-party library within Qt. It can be built by passing the following parameters to the configure script: -plugin-sql-sqlite (build as a plugin) or -qt-sql-sqlite (linked directly into the Qt library). If you don't want to use the SQLite library included with Qt, you can build it manually (replace $SQLITE by the directory where SQLite resides): cd $QTDIR/src/plugins/sqldrivers/sqlite qmake -o Makefile "INCLUDEPATH+=$SQLITE/include" "LIBS+=-L$SQLITE/lib -lsqlite" make On Windows: cd %QTDIR%\src\plugins\sqldrivers\sqlite qmake -o Makefile "INCLUDEPATH+=C:\SQLITE\INCLUDE" "LIBS+=C:\SQLITE\LIB\SQLITE3.LIB" mysql.pro nmake как сделать из dll lib?? Название: Re: Driver sqlite Отправлено: DmP от Январь 19, 2011, 12:27 cd %QTDIR%\src\plugins\sqldrivers\sqlite А так что уже не собирается?qmake "INCLUDEPATH+=../../../3rdparty/sqlite" "LIBS+=-L../../../3rdparty/sqlite -lsqlite3" mingw32-make в папке ../../../3rdparty/sqlite у меня есть sqlite3.dll, libsqlite3.a и заголовочные файлы sqlite3.h.. Для мингвина должно быть *.a. Та инструкция для msvc. Название: Re: Driver sqlite Отправлено: DmP от Январь 19, 2011, 12:33 На сколько я понимаю, расширение icu можно собрать сразу вместе sqlite. Если при сборке указать -DSQLITE_ENABLE_ICU. Файл icu.c уже включен в исходники sqlite-amalgamation.
Название: Re: Driver sqlite Отправлено: nata267 от Январь 20, 2011, 15:35 На сколько я понимаю, расширение icu можно собрать сразу вместе sqlite. Если при сборке указать -DSQLITE_ENABLE_ICU. Файл icu.c уже включен в исходники sqlite-amalgamation. спасибо, но вопрос решен другим способом http://www.prog.org.ru/topic_16418_0.html |