Russian Qt Forum
Ноябрь 24, 2024, 06:45
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Драйвер PostgreSQL
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Драйвер PostgreSQL (Прочитано 14297 раз)
AYK
Гость
Драйвер PostgreSQL
«
:
Март 07, 2007, 10:42 »
Уважаемые коллеги!
Обращаяюсь к Вам за помощью. Помогите разобраться.
Работаю под Windows XP. Пользовался версией QT 4.0.0. И у меня был собранный драйвер для работы с PostgreSQL. Решил перейти на QT 4.2.2 - переустановил библиотеки, а qsqlpsql.dll из версии 4.0.0 просто скопировал в каталог плагинов. Пересобрал приложения и как и предполагал - мои приложения перестали работать. Решил тогда собрать этот драйвер под 4.2.2 сам. Посмотрел документацию, отредактировал файл проекта, чтобы мэйк видел инклуды и либы от постгрескула:
/*=================
TARGET = qsqlpsql
HEADERS = ../../../sql/drivers/psql/qsql_psql.h
SOURCES = main.cpp \
../../../sql/drivers/psql/qsql_psql.cpp
INCLUDEPATH += "C:\Program Files\PostgreSQL\8.0\include"
LIBS += "C:\Program Files\PostgreSQL\8.0\lib\ms\libpq.lib"
unix: {
!isEmpty(QT_LFLAGS_PSQL) {
LIBS *= $$QT_LFLAGS_PSQL
QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
}
!contains(LIBS, .*pq.*):LIBS *= -lpq
}
win32:!contains(LIBS, .*pq.* ) {
!win32-g++:LIBS *= -llibpq
win32-g++:LIBS *= -lpq
LIBS *= -lws2_32 -ladvapi32
}
include(../qsqldriverbase.pri)
/*================================
выполнил qmake.exe - сформировались:
Makefile
Makefile.Debug
Makefile.Release
выполнил mingw32-make.exe и получил ошибку:
C:\Qt\4.2.2\src\plugins\sqldrivers\psql>mingw32-make.exe
c:/mingw/bin/mingw32-make.exe -f Makefile.Release
Makefile.Release:314: *** multiple target patterns. Stop.
mingw32-make.exe[1]: Entering directory `C:/Qt/4.2.2/src/plugins/sqldrivers/psql'
mingw32-make.exe[1]: Leaving directory `C:/Qt/4.2.2/src/plugins/sqldrivers/psql'
c:\mingw\bin\mingw32-make.exe: *** [release] Error 2
Что же я не так делаю или чего не доделываю???
Спасибо.
Записан
burunduk
Гость
Драйвер PostgreSQL
«
Ответ #1 :
Март 07, 2007, 10:48 »
да, есть там небольшая беда
лучше папки lib и include скопировать куда-нить, чтобы путь к ним был попроще и без пробелов
я вот так собираю Qt с поддержкой Postgres:
configure.exe -fast -qt-sql-psql -I c:/qt/4.2.2/pg823/include -L c:/qt/4.2.2/pg823/lib -l libpq
Записан
WW
Гость
Драйвер PostgreSQL
«
Ответ #2 :
Март 07, 2007, 15:04 »
или переведи пути в формат 8.3 (C:\PROGRA~1\.....)
тогда соберется и там
Записан
AYK
Гость
Драйвер PostgreSQL
«
Ответ #3 :
Март 09, 2007, 22:44 »
спасибо, ребята!
действительно, ваши предложения помогли решить задачу.
QT я пересобрал, причем получил и дебугерные варианты библиотек, чего по-умолчанию (при установке) не было!
Ну и драйвер для PostgreSQL собрал само-собой!
Теперь проги работают!
Кому нужен драйвер-плагин для PostgreSQL собранный под QT 4.2.2
прошу запрос на
azimut-it@mail.ru
:lol:
Записан
AYK
Гость
Драйвер PostgreSQL
«
Ответ #4 :
Март 19, 2007, 17:42 »
Добрый день, коллеги!
Опять с вопосом.
Пытаюсь внедрить КюТ 4.2.3.
Установил КюТ 4.2.3 под вин опен сорс релизный вариант.
psql как плагин собрал
Проги пересобрал.
Проги подключиться к базе не могут.
Решил пересобрать КюТ
Собираю так:
configure.exe -fast -debug-and-release -qmake -qt-sql-psql -plugin-sql-psql -qt-gif -qt-libpng -qt-libjpeg -qmake -qt-style-windows -qt-style-windowsxp -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -saveconfig azimuth.cfg -I /PostgreSQL/8.2/include -L /PostgreSQL/8.2/lib/ms -l libpq.lib
это отрабатывает. запускаю mingw32-make
он мне выдает
.......
gcc -c -O2 -O2 -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BOOTSTRAPPED -DQT_RCC -DQT_LITE_UNICODE -DQT_NO_DATASTREA
M -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES -DQT_NO_LIBRARY -DQT_NO_SYSTEMLOCALE -DQT_NODLL -I"..\..\core
lib\arch\generic" -I"C:/Qt/4.2.3/include" -I"." -I"C:/Qt/4.2.3/include/QtCore" -I"C:/Qt/4.2.3/include/QtXml" -I"..\.
.\3rdparty\zlib" -I"." -I"..\..\..\mkspecs\win32-g++" -o tmp\obj\release_shared\zutil.o ..\..\3rdparty\zlib\zutil.c
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-
subsystem,console -o "..\..\..\bin\rcc.exe" object_script.rcc.Release -L/PostgreSQL/8.2/lib/ms -llibpq.lib
c:\mingw\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: cannot find -llibpq.lib
collect2: ld returned 1 exit status
mingw32-make[6]: *** [..\..\..\bin\rcc.exe] Error 1
mingw32-make[6]: Leaving directory `C:/Qt/4.2.3/src/tools/rcc'
mingw32-make[5]: *** [release] Error 2
mingw32-make[5]: Leaving directory `C:/Qt/4.2.3/src/tools/rcc'
mingw32-make[4]: *** [all] Error 2
mingw32-make[4]: Leaving directory `C:/Qt/4.2.3/src/tools/rcc'
mingw32-make[3]: *** [sub-tools_rcc-make_default] Error 2
mingw32-make[3]: Leaving directory `C:/Qt/4.2.3/src'
mingw32-make[2]: *** [all] Error 2
mingw32-make[2]: Leaving directory `C:/Qt/4.2.3/src'
mingw32-make[1]: *** [sub-src-make_default-ordered] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.2.3'
mingw32-make: *** [all] Error 2
Путь без пробелов, без русских букв.
Что опять не так?
Записан
L.Marvell
Гость
Драйвер PostgreSQL
«
Ответ #5 :
Март 19, 2007, 19:25 »
Есть предположение, что ".lib" лишнее, а писать просто -l libpq
Записан
sector
Гость
Драйвер PostgreSQL
«
Ответ #6 :
Март 20, 2007, 09:32 »
Коллега! Вам истину глаголят по поводу .lib))) Это никак не прокатит...((( Так что я думаю вопрос решен...
Зы: Пользуясь случаем передаю большой привет компании Азимут Ай-Ти от гламурных админов Спецавтоматики)))
Записан
AYK
Гость
Драйвер PostgreSQL
«
Ответ #7 :
Март 20, 2007, 13:49 »
Цитата: "sector"
Коллега! Вам истину глаголят по поводу .lib))) Это никак не прокатит...((( Так что я думаю вопрос решен...
Зы: Пользуясь случаем передаю большой привет компании Азимут Ай-Ти от гламурных админов Спецавтоматики)))
Спасибо за привет! Приятно встретить в форуме не просто коллегу но и гламурного земляка. javascript:emoticon('8)')
Ребята спасибо за советы. Методом научного тыка и сравнения с другими мэйк файлами пришел к тому же выводу самомстоятельно и как следствие получил желаемый результат!javascript:emoticon(':D')
Большое спасибо за участие.javascript:emoticon(':mrgreen:')
Записан
fatdh
Гость
Re: Драйвер PostgreSQL
«
Ответ #8 :
Март 29, 2010, 19:09 »
Доброго времени суток, уважаемые!
Столкнулся с такой ситуацией: Есть GUI приложение, которое работает с PostgreSQL. Структура папок такая: Основная папка, в ней qt библиотеки и исполняемый файл .exe. Также в этой папке есть файл qt.conf - в котором прописано [PATH] Plugins =. и подпапка "sqldrivers" в которой лежит драйвер к PostgreSQL. Так вот проблема, на некоторых Windows XP (2 из 10) при запуске приложения выкидывает ошибку что драйвер не загружен. При этом на остальных XP работает нормально. Пытались локализовать в чем может быть проблема, но ничего не нашли.
Сначала подумали на сервис паки, на одной машине стоит 1й на второй 3й, а на остальных (на которых работет приложение) 2й. Но как-то слабовероятно помоему. Потом подумали, что может из-за русской локализации windows, но опять что-то странное, из 8 машин, на которых нормально работает приложение, половина имеет русскую локаль и переведены они на русский (но у них какие-то скины стоят не стандартные, вполне вероятно, что это англицская винда, а скин делает перевод)..
Может кто сталкивался с такой проблемой, подскажите плз. Спасибо!
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Драйвер PostgreSQL
«
Ответ #9 :
Март 29, 2010, 19:46 »
А libpq.dll на всех машинах присутствует?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
fatdh
Гость
Re: Драйвер PostgreSQL
«
Ответ #10 :
Март 29, 2010, 20:13 »
Да, на серваке лежит архив, все машины с этого сервака берут архив и распаковывают в одно и тоже место на диск C:\
Записан
BaltikS
Гость
Re: Драйвер PostgreSQL
«
Ответ #11 :
Март 29, 2010, 20:45 »
Рискну спросить чем собиралось и как? Если Студией, то возможны проблемы
со всякими рода зависимостями...
Записан
fatdh
Гость
Re: Драйвер PostgreSQL
«
Ответ #12 :
Март 30, 2010, 07:33 »
Доброе утро, уважаемые!
Спасибо за наводящие вопросы и то, что проявляете интерес!
Все собиралось через mingw: Драйвер через mingw32-make, а гуишку через QT Creator (который тоже mingw32-make использует)
Записан
BaltikS
Гость
Re: Драйвер PostgreSQL
«
Ответ #13 :
Март 30, 2010, 08:16 »
Хм, тогда вопрос чем собирался libpq? Нужно посмотреть его зависимости.... Скорее всего дело в нём...
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Драйвер PostgreSQL
«
Ответ #14 :
Март 30, 2010, 11:28 »
Угу. В дистрибутиве постгрес скомпилен студией, поэтому и проблемы. Как решение таскать с собой установщик студийных дллок и манифестов или, что намного лучше, собрать постгрес мингвом.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...