Russian Qt Forum
Ноябрь 22, 2024, 22:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] QSQLITE driver not loaded  (Прочитано 13424 раз)
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« : Ноябрь 15, 2011, 00:19 »

Извините, что взываю к помощи экстрасенсов.
Есть сравнительно большой проект.
И вот в один не особо прекрасный день он перестал подхватывать sqldrivers/qsqlite4.dll
То есть на компьютере, где установлен кьют всё прекрасно, но стоит взять чистый компьютер (или просто переименовать папку QtSDK) и драйвер не загружается.

Тестовый пример прекрасно подхватывает драйвер из sqldrivers/qsqlite4.dll, что впрочем до определённого момента делал и сам проект.

Может будут хотя бы идеи из-за чего это может происходить. Из-за порядка инициализации чего-то? Из-за изменения приложением текущей папки?..
« Последнее редактирование: Ноябрь 15, 2011, 09:22 от LisandreL » Записан
andrew.k
Гость
« Ответ #1 : Ноябрь 15, 2011, 00:28 »

попробуй положить плагин рядом с приложением в директорию sqldrivers

Т.е. вот так:

Код:
/sqldrivers/qsqlite4.dll
/app.exe
Записан
andrew.k
Гость
« Ответ #2 : Ноябрь 15, 2011, 00:30 »

или у тебя тестовый пример работает, а приложение нет?
или оба теперь не работают?
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #3 : Ноябрь 15, 2011, 00:33 »

попробуй положить плагин рядом с приложением в директорию sqldrivers

Т.е. вот так:

Код:
/sqldrivers/qsqlite4.dll
/app.exe
Именно так оно и лежит.
Не находит драйвер.
На тестовом мини-проекте работает, на основном - нет.
Записан
andrew.k
Гость
« Ответ #4 : Ноябрь 15, 2011, 00:37 »

Тогда, конечно, смотри текущую папку.
Если у тебя она меняется, как же он ее найдет?
« Последнее редактирование: Ноябрь 15, 2011, 00:40 от andrew.k » Записан
andrew.k
Гость
« Ответ #5 : Ноябрь 15, 2011, 00:45 »

или раз уж меняешь текущую директорию клади в $QTDIR/plugins/sqldrivers/qsqlite4.dll
хотя он и так должен там лежать по идее, если qt установлен.
Записан
andrew.k
Гость
« Ответ #6 : Ноябрь 15, 2011, 00:48 »

сейчас посмотрел в dll dependency qsqlite4.dll
Там вот что (проверь, что у тебя все на месте):
Код:
mingwm10.dll
libgcc_s_dw2-1.dll
QtCore4.dll
QtSql4.dll
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #7 : Ноябрь 15, 2011, 01:04 »

Да, ещё gui и network.

Цитировать
или раз уж меняешь текущую директорию клади в $QTDIR/plugins/sqldrivers/qsqlite4.dll
Не ствить же на все компы Qt в нагрузку к программе...
Да и папку я по идее не должен менять, просто была идея "а вдруг", но проверка показывает, что всё нормально.

Видать прийдётся в svn-е искать последнюю работавшую версию и пытаться по диффам понять, что же я сломал.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #8 : Ноябрь 15, 2011, 09:22 »

Разобрался. Проблема возникала из-за обращения к БД до создания QApplication.
Пути к этому моменту ещё не инициализированнный и драйвер не находится. Повторно искать его программа уже не пытается.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.232 секунд. Запросов: 22.