проблема с использованием sqlite в QT4.7 - PullRequest
1 голос
/ 06 января 2011

Я написал программу с использованием sqlite, но когда я ее запускаю, похоже, нет поддержки sqlite

Вот информация, предоставленная создателем QT: QSqlDatabase: драйвер QSQLITE не загружен QSqlDatabase: доступные драйверы:

нет доступных драйверов! Но в каталоге C: \ Qt \ 2010.05 \ qt \ plugins \ sqldrivers есть sqlite4.dll, sqlodbc4.dll, почему программа не может определить, где находятся драйверы?Должен ли я перекомпилировать Qt4.7 с опцией -qt-sql-sqlite?Это, кажется, последнее решение, которое занимает очень много времени.Какие-либо предложения?Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 18 сентября 2012

вам нужно поместить qsqlite4.dll файл в папку sqldrivers

2 голосов
/ 06 января 2011

Ну, если вы не скомпилировали qt с включенным sql, то sql не будет работать.Я бы посоветовал вам сделать это, хотя это может занять много времени.Если вам это нужно, это лучший способ.

1 голос
/ 26 июля 2011

Это, вероятно, так же просто, как забыть указать драйвер при открытии:

QSqlDatabase::addDatabase("QSQLITE")
1 голос
/ 07 января 2011

В каком режиме вы работаете - отладка или выпуск? Если вы работаете в режиме отладки, вам нужна отладочная версия плагина SQLite с именем sqlite * d * 4.dll, а не sqlite4.dll.
Вы можете включить некоторые полезные данные отладки, установив переменную окружения QT_DEBUG_PLUGINS=1. Если вы сделаете это, и вы получите что-то вроде этого

QFactoryLoader::QFactoryLoader() looking at "C:/Qt/4.7.0-mingw/plugins/sqldrivers/qsqlite4.dll"
In C:/Qt/4.7.0-mingw/plugins/sqldrivers/qsqlite4.dll:
  Plugin uses incompatible Qt library
  expected build key "Windows mingw debug full-config", got "Windows mingw release full-config"

вы знаете, что вам нужна отладочная версия плагина.

Кроме того, если есть проблема с поиском плагинов в папке исходных плагинов (которую вы указали в своем вопросе), вы можете создать папку sqldrivers в папке вашего приложения и скопировать туда sqlite*.dll плагинов. *

...