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:
CD 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-make debug
mingw32-make release
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 ((! Определено (_TIMESPEC_DEFINED)) && (! Определено (HAVE_STRUCT_TIMESPEC))))
Готово: -)
Faust