Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Драйвера для PostgreSQL под WIN


Автор: plica98 11.12.2013, 14:32
Добрый день, уважаемые Qt-шники.

Прошу Вашей помощи в сборке и установке драйверов для работы с PostgreSQL под WIN.
Работающий проект на Qt перенес из Fedora в Win. PostgreSql установлена на Fedora.

Собрал, запустил, получил: QSqlDatabase: QPSQL driver not loaded.

Как собрать и установить драйвера для WIN.

Заранее благодарю за помощь.

Автор: borisbn 11.12.2013, 14:53
http://qt-project.org/doc/qt-4.8/sql-driver.html#qpsql
Раздел: "How to Build the QPSQL Plugin on Windows"

Цитата

Install the appropriate PostgreSQL developer libraries for your compiler. Assuming that PostgreSQL was installed in C:\psql, build the plugin as follows:
Код
 cd %QTDIR%\src\plugins\sqldrivers\psql
 qmake "INCLUDEPATH+=C:\psql\include" "LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
 nmake

Users of MinGW may wish to consult the following online document: http://www.postgresql.org/docs/current/static/installation-platform-notes.html#INSTALLATION-NOTES-MINGW.

Автор: plica98 11.12.2013, 14:59
borisbn.

У меня нет C:\psql\include  и     C:\psql\lib\ms\libpq.lib

Я так понимаю, что они должны появиться после установки PostgreSQL. 

Но у меня PostgreSQL уже установлена на Fedora.


Автор: bsa 11.12.2013, 15:10
Цитата(plica98 @  11.12.2013,  15:59 Найти цитируемый пост)
У меня нет C:\psql\include  и     C:\psql\lib\ms\libpq.lib

Я так понимаю, что они должны появиться после установки PostgreSQL. 
Ты почти правильно понимаешь. Вот только тебе нужно ставить не сам PostgreSQL сервер, а библиотеку с файлами для разработчики клиента БД.
Цитата(plica98 @  11.12.2013,  15:59 Найти цитируемый пост)
Но у меня PostgreSQL уже установлена на Fedora.
И? Тебе же нужно драйвер собрать под Windows!

Автор: plica98 11.12.2013, 15:20
bsa,

а где можно взять эту библиотеку с файлами для разработки клиента БД ?


Автор: bsa 11.12.2013, 15:50
Качаешь отсюда, читаешь readme, компилируешь библиотеку и используешь: http://www.postgresql.org/ftp/source/v9.3.2/

Автор: plica98 12.12.2013, 08:43
bsa, спасибо за помощь.

Исходники скачал, но еще не компилил. Со всем этим надо разбираться.

Вчера скачал PostgreSQL 3.1.1-1. Под XP встала нормально. На WIN 7 установить корректно не удалось.
Взял оттуда библиотеки и заголовочные файлы. Пока скомпилить не удалось.

Сегодня продолжаю разбираться и мучиться.

Автор: plica98 12.12.2013, 15:02
Для WIN XP уже скомпилил, для Win 7 что-то пока не получилось.

В XP получил два файла: libqsqlpsqld4.a и qsqlpsqld4.dll.

qsqlpsqld4.dll - это понятно, 

А вот libqsqlpsqld4.a - это что ? C чем это едят?

Пытаюсь расместить в нужном месте  полученные библиотеки. 

Все равно при запуске приложения выдает: QSqlDatabase: QPSQL driver not loaded.

В чем проблема ?

Автор: bsa 12.12.2013, 18:01
Цитата(plica98 @  12.12.2013,  16:02 Найти цитируемый пост)
В чем проблема ?
Наиболее часто это возникает из-за того, что не совпадают версии компилятора, Qt или настройки. В исходниках Qt есть инструкция как собрать драйвер.

Автор: plica98 13.12.2013, 08:32
BSA, все получилось.

Прописал системный PATH бинариков PostgreSQL и база открылась.
Правда при этом появилось сообщение : This version of PostgreSQL is not supported and may not work.
Но база открылась. Могут быть проблемы при работе.

За помощь всем большое спасибо.

В этой связи, возникает вопрос: "На WIN XP какой все таки PostgreSQL ставить?". Из Вашего опыта посоветуйте.

Я на WIN XP поставил PostgreSQL 9.1. Видимо слишком она новая для ХР. Надо переставить - что-нибудь типа PostgreSQL 8.3.

Теперь надо разобраться с WIN 7.

И еще хочу спросить: на WIN 7 что мне лучше ставить ? (Опять же из Вашего опыта).

Заранее благодарю за помощь. 


P.S Да, libqsqlpsqld4.a и qsqlpsqld4.dll разместил в C:\Qt\2009.03\qt\plugins\sqldrivers (Рабочая папка для Qt C:\Qt\2009.03\qt). 

Автор: bsa 13.12.2013, 10:54
Цитата(plica98 @  13.12.2013,  09:32 Найти цитируемый пост)
Я на WIN XP поставил PostgreSQL 9.1. Видимо слишком она новая для ХР.
Что за бред?

Цитата(plica98 @  13.12.2013,  09:32 Найти цитируемый пост)
И еще хочу спросить: на WIN 7 что мне лучше ставить ?
Последнюю стабильную версию. Это касается не только Win7, но и любой другой ОС, у которой нет репозитория.

Добавлено через 6 минут и 3 секунды
Цитата(plica98 @  13.12.2013,  09:32 Найти цитируемый пост)
Прописал системный PATH бинариков PostgreSQL и база открылась.
Правда при этом появилось сообщение : This version of PostgreSQL is not supported and may not work.
Но база открылась. Могут быть проблемы при работе.
Забей. Просто в Qt есть проверка на версию библиотеки. Если разработчики Qt не тестировали либу указанной версии, то выводится это предупреждение.

Автор: plica98 13.12.2013, 11:11
BSA,

Цитата

Последнюю стабильную версию. Это касается не только Win7, но и любой другой ОС, у которой нет репозитория.




Я и спрашиваю об этом у тех кто уже работал с "последними стабильными версиями". Какая последняя версия стабильная?



Цитата

Забей. Просто в Qt есть проверка на версию библиотеки. Если разработчики Qt не тестировали либу указанной версии, то выводится это предупреждение. 





Если я забью, база открываться не будет.


Автор: bsa 13.12.2013, 11:55
Цитата(plica98 @  13.12.2013,  09:32 Найти цитируемый пост)
Но база открылась.

Цитата(plica98 @  13.12.2013,  12:11 Найти цитируемый пост)
Если я забью, база открываться не будет.

Ты уж определись. Открывается она или нет.
Цитата(plica98 @  13.12.2013,  12:11 Найти цитируемый пост)
Какая последняя версия стабильная?

Это пишут на сайте разработчика. Вывает несколько версий любой программы: экспериментальная, альфа, бета и стабильная. Обычно, разработчики явно указывают, какая версия программы предлагается для загрузки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)