2014年3月31日 星期一

build database drvier postgresql plugin in windows - qt4

env:
windows xp
postgresql 9.3
qt 4.8.5

我將 postgresql 9.3 安裝到 C:\pgsql9.3

修改 src/plugins/sqldrivers/psql/psql.pro
cat src/plugins/sqldrivers/psql/psql.pro
TARGET = qsqlpsql

SOURCES = main.cpp
include(../../../sql/drivers/psql/qsql_psql.pri)

INCLUDEPATH+="C:\pgsql9.3\include"
LIBS+="C:\pgsql9.3\lib\libpq.dll"

include(../qsqldriverbase.pri)

修改 src/sql/drivers/psql/qsql_psql.pri
cat src/sql/drivers/psql/qsql_psql.pri
HEADERS += $$PWD/qsql_psql.h
SOURCES += $$PWD/qsql_psql.cpp
LIBS += "c:\pgsql9.3\lib\libpq.lib"
INCLUDEPATH += "c:\pgsql9.3\include"
unix|win32-g++* {
    LIBS += $$QT_LFLAGS_PSQL
    !contains(LIBS, .*pq.*):LIBS += -lpq
    QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
} else {
    !contains(LIBS, .*pq.*):LIBS += -llibpq -lws2_32 -ladvapi32
}

D:\qt-everywhere-opensource-src-4.8.5>configure -static -release -no-exceptions -no-qt3support -qt-sql-psql -qt-sql-odbc -qt-sql-sqlite -no-opengl

不過編譯出來的 qt 程式需相依 pgsql 9.3 很多 dll, 我直接複製到 C:\pgsql9.3\bin, 省下那些尋找 dll 的麻煩問題。

另外我還使用 static link, 請參考:
in windows using static link for QT application

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。