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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Куда скопировать qsqlpsql4.dll?  (Прочитано 7260 раз)
fabricant
Гость
« : Июнь 07, 2011, 20:54 »

При компиляции программы выбило ошибку "QSqlDatabase: QPSQL driver not loaded". В интернете нашел, что нужно скомпилировать qsqlpsql4.dll я ее скомпилировал, а куда теперь ее скопировать? Пробовал в папку с проектом, в папку с программой и в system32 не помогает
Записан
somebyte
Гость
« Ответ #1 : Июнь 07, 2011, 21:16 »

Его нужно положить в каталог: [Каталог Qt]/plugins/sqldrivers

При этом dll драйвера должна будет находится в этой директории на любом компьютере, куда будете устанавливать свое ПО.

Но если работаете с postgresql рекомендую dulldbtools, см. тему ниже. Веселый
« Последнее редактирование: Июнь 07, 2011, 21:20 от somebyte » Записан
fabricant
Гость
« Ответ #2 : Июнь 07, 2011, 21:31 »

пробовал не помогает
Записан
somebyte
Гость
« Ответ #3 : Июнь 07, 2011, 23:33 »

пробовал не помогает
Два файла? *.a + *.dll или *.lib + *.dll зависит от того чем компилить
И в файле проекта д.б. Qt += sql
Понимаю, что не идиот, просто уточняю.

Кроме того когда собирали драйвер, сформировался Makefile для него. В этом Makefile есть цель install. Можно посмотреть куда драйвер(dll) должна быть скопирована. Ну или просто скомпилировать при помощи make install.
« Последнее редактирование: Июнь 07, 2011, 23:38 от somebyte » Записан
Aleksey_Zh
Гость
« Ответ #4 : Июнь 14, 2011, 09:16 »

Вроде всю жизнь длл кидали в bin, *.а - в lib.
Проверьте, объявлен ли постгри в configure.
« Последнее редактирование: Июнь 14, 2011, 09:36 от Aleksey_Zh » Записан
cya-st
Гость
« Ответ #5 : Июнь 14, 2011, 21:40 »

У меня там где установлен Qt запускается нормально. Но на чужой машине: Driver not loaded. База постгри. Дллки все скинул. В чем может быть проблема???
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


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


Просмотр профиля
« Ответ #6 : Июнь 14, 2011, 21:47 »

У меня там где установлен Qt запускается нормально. Но на чужой машине: Driver not loaded. База постгри. Дллки все скинул.
Куда скинул? Структуру папок сохранил?
Записан
cya-st
Гость
« Ответ #7 : Июнь 14, 2011, 22:02 »

Разобрался сам, добавил libpq.dll в папку с программой. Заработало.
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



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

Тоже самое было. Скинул на другой комп директорию с прогой, в ней директория sqldrivers, в ней драйвер БД, в корне с экзешником остальные dll-ки QtGui4.dll, QtSql4.dll и т.д. Установил PostgreSQL ver 9.1. Запускаю приложение, драйвера не находит. Потикался, поиыкался, почитал форум, вроде сделал все как написано, решил добавить переменную QT_PLUGIN_PATH. Посмотрел где ищет драйвера через QCoreApplication::libraryPaths(), оказалась там где надо, в корневом каталоге приложения и в директории мною установленной в переменно QT_PLUGIN_PATH. Проверял зависимости через прогу dependenc(вроде), как написано в ассистенте.
В итоге оказалось надо было из директории bin где установлен постгрес, взять некоторые dll, в том числе и libpq.dll и скопировать в директорию с программой(кстате может только и libpq.dll, если кто лучше знает, то поправит меня, могу ошибаться, завтра проверю) и все заработало!!!

P.S. Извиняюсь, что там много воды налил тут, просто решил поподробнее расписать мой сегодняшний опыт, для следующих кто сталкнется с такой же проблемой. Иногда трудно найти ответ.
Записан

Qt 5.11.0, Win, MinGW
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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