Название: Куда скопировать qsqlpsql4.dll? Отправлено: fabricant от Июнь 07, 2011, 20:54 При компиляции программы выбило ошибку "QSqlDatabase: QPSQL driver not loaded". В интернете нашел, что нужно скомпилировать qsqlpsql4.dll я ее скомпилировал, а куда теперь ее скопировать? Пробовал в папку с проектом, в папку с программой и в system32 не помогает
Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: somebyte от Июнь 07, 2011, 21:16 Его нужно положить в каталог: [Каталог Qt]/plugins/sqldrivers
При этом dll драйвера должна будет находится в этой директории на любом компьютере, куда будете устанавливать свое ПО. Но если работаете с postgresql рекомендую dulldbtools, см. тему ниже. :D Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: fabricant от Июнь 07, 2011, 21:31 пробовал не помогает
Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: somebyte от Июнь 07, 2011, 23:33 пробовал не помогает Два файла? *.a + *.dll или *.lib + *.dll зависит от того чем компилитьИ в файле проекта д.б. Qt += sql Понимаю, что не идиот, просто уточняю. Кроме того когда собирали драйвер, сформировался Makefile для него. В этом Makefile есть цель install. Можно посмотреть куда драйвер(dll) должна быть скопирована. Ну или просто скомпилировать при помощи make install. Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: Aleksey_Zh от Июнь 14, 2011, 09:16 Вроде всю жизнь длл кидали в bin, *.а - в lib.
Проверьте, объявлен ли постгри в configure. Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: cya-st от Июнь 14, 2011, 21:40 У меня там где установлен Qt запускается нормально. Но на чужой машине: Driver not loaded. База постгри. Дллки все скинул. В чем может быть проблема???
Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: LisandreL от Июнь 14, 2011, 21:47 У меня там где установлен Qt запускается нормально. Но на чужой машине: Driver not loaded. База постгри. Дллки все скинул. Куда скинул? Структуру папок сохранил?Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: cya-st от Июнь 14, 2011, 22:02 Разобрался сам, добавил libpq.dll в папку с программой. Заработало.
Название: Re: Куда скопировать qsqlpsql4.dll? Отправлено: kolob от Ноябрь 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. Извиняюсь, что там много воды налил тут, просто решил поподробнее расписать мой сегодняшний опыт, для следующих кто сталкнется с такой же проблемой. Иногда трудно найти ответ. |