Russian Qt Forum

Qt => Базы данных => Тема начата: QuAzI от Декабрь 16, 2010, 18:53



Название: Пересборка из-за sqlite
Отправлено: QuAzI от Декабрь 16, 2010, 18:53
Написал два приложения, одно консольное (QApplication из него выкинут) и второе GUI к нему. На машине с Qt оба работают. На машине без Qt графическое заработало после подброса sqlite4.dll в sqldrivers/, а консольное как не работало, так и не хочет. Вопит что sqlite драйвер не найден.
Как это дело пересобрать правильно, чтобы sqlite линковался в приложение? Я так понял надо пересобирать весь Qt?


Название: Re: Пересборка из-за sqlite
Отправлено: BRE от Декабрь 16, 2010, 19:42
Для консольного лучше не выкидывать из него QApplication, а зменить его на QCoreApplication.


Название: Re: Пересборка из-за sqlite
Отправлено: QuAzI от Декабрь 16, 2010, 19:56
Вы про это?
#include <QtCore/QCoreApplication>
Это есть. В том плане что у меня нет вызова вида
Код:
QApplication MyApp(argc, argv);
return MyApp.exec();
Поэтому вроде как затычка QApplication::addLibraryPath( path ) не катит.


Название: Re: Пересборка из-за sqlite
Отправлено: crossly от Декабрь 16, 2010, 19:58
должно быть
Код:
QCoreApplication MyApp(argc, argv);
return MyApp.exec();


Название: Re: Пересборка из-за sqlite
Отправлено: BRE от Декабрь 16, 2010, 20:13
Можно и без exec().


Название: Re: Пересборка из-за sqlite
Отправлено: QuAzI от Декабрь 17, 2010, 09:25
Добавил сразу после main
Код:
qApp->addLibraryPath("./sqldrivers");
Причём ничего нового подключать не пришлось и заводить собственный класс QApplication или типа того тоже.
Раньше было "Driver not loaded", теперь
Цитировать
unable to open database file Error opening database
Но база создаётся самим приложением при её отсутствии. А вообще она уже есть в нужной директории.


Название: Re: Пересборка из-за sqlite
Отправлено: QuAzI от Декабрь 17, 2010, 09:56
Всё, это перенедосып.
В GUI база нормально создаётся, а в консольном не проконтролировал, чтобы путь для базы создавался.