2010-12-28 2 views
3

Я пытаюсь подключить postgresql с Qt SQL-модулем. Я успешно скомпилировал драйвер psql (src \ plugins \ sqldrivers \ psql). Но когда я пытаюсь подключить postgresql, я получаю это сообщение;Проблема драйвера Qt QPSQL

QSqlDatabase: QPSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL QODBC3 QODBC QPSQL7 QPSQL 

Я использую PostgreSQL 8.3, Qt 4.7.1 и Visual Studio 2008 в Windows XP SP3. (Я также попробовать this, но не помогло)

+1

Возможно, плагин не может быть загружен из-за отсутствия какой-либо другой DLL (из postgres). Посмотрите на DLL плагина с зависимым ходоком. Также убедитесь, что ваша сборка psql соответствует остальной части сборки Qt (выпуск по сравнению с debug и т. Д.). Вы также можете попытаться вручную загрузить плагин с QPluginLoader и посмотреть, что errorString() сообщает что-то полезное. –

+0

Фрэнк Остерфельд: Я смотрел плагин dll с зависимым ходоком раньше. он сказал, что отсутствуют файлы ieshims.dll, wer.dll и MSVCR90D.DLL. я загрузил dll из Интернета, скопировал в каталог плагинов, открыл с помощью dw («Предупреждение: хотя бы один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в зависимом от задержки модуле». для wer.dll и ieshims.dll) но это не сработало. – bmeric

ответ

2

ли вы компилировать выпуск и отладки версии плагина? Вывод зависимого ходока выглядит так, как будто вы работаете с отладочной версией. У вас должно быть qsqlpsql4.dll и qsqlpsqld4.dll в каталоге% QTDIR% \ plugins \ sqldrivers. Вы можете проверить путь плагина, который используется в вашей программе, с помощью: QString QLibraryInfo :: location (QLibraryInfo :: PluginsPath);

+0

Я скомпилировал как qsqlpsql4.dll/qsqlpsqld4.dll, так и правильный путь плагина (% QTDIR% \ plugins). Спасибо за ответ. – bmeric

+1

Ссылка, о которой вы упомянули выше, также говорит о необходимости иметь (% pgsql) \ bin \ в вашем пути. – hmuelner

+0

Я скомпилировал как версии выпуска, так и отладки, и правильный путь к плагину, но у меня все еще такая же проблема. Любые другие идеи? – Jordan

Смежные вопросы