Postgresql с использованием QT в Windows: Как скомпилировать драйвер QPSQL — MinGw — Win7
1) проверьте каталог установки на моем компьютере:
PostgreSQL (32 bit) C:\PSQL32\bin
Qt (32 bit) C:\QT\4.8.0\bin
MingW32 C:\QT\qtcreator-2.4.0\mingw\bin
2) добавьте эти 3 каталога в системный PATH
3) Скачать mingw-utils и установить в C:\Qt\4.8.0\bin (нужна утилита REIMP.exe)
4) Преобразовать libpq.lib в удобный для mingw32 формат:
компакт-диск C:\PSQL32\lib
REIMP -d libpq.lib
Откройте libpq.def и удалите ВСЕ "_" в начале определений.
dlltool --input-def libpq.def --output-lib libpq.a --dllname libpq.dll
5) Скомпилируйте:
CD C:\Qt\4.8.0\src\plugins\sqldrivers\psql
qmake -o Makefile "INCLUDEPATH+=C:\PSQL32\include" "LIBS+=C:\PSQL32\lib\libpq.a" psql.pro
mingw32-сделать отладку
mingw32-сделать релиз
10) скопировать dll:
libqsqlpsqld4.a qsqlpsqld4.dll (debug)
libqsqlpsql4.a qsqlpsql4.dll (release)
в каталоге:
C:\Qt\4.8.0\plugins\sqldrivers
НОВАЯ проблема для QT версии 5.01
существует несколько определений struct timespec
в файле pthread.h PostgreSQL (C:\PSQL32\include\pthread.h)
заменять:
#ifndef HAVE_STRUCT_TIMESPEC
с:
#if ((!defined(_TIMESPEC_DEFINED)) && (!defined(HAVE_STRUCT_TIMESPEC)))
Сделанный :-)
Фауст
person
Fausto Tomei
schedule
22.03.2013