It works :D Quite why I'm still a little perplexed but here is what I have done:
Downloaded 4.1.2 src - previously I have 4.1.1 mingw installer
Configured with: configure -debug-and-release -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg -qt-sql-psql -L C:\psql\lib
Recompiled my app: placed the pgsql dlls in the same directory as the exe
I had also done the following prior to configure
set QTDIR=C:\Qt\4.1.2
set PATH=C:\Qt\4.1.2\bin
set PATH=%PATH%;C:\psql\include
set PATH=%PATH%;C:\psql\lib
set PATH=%PATH%;C:\MinGW\bin
So the differences are:
Slightly newer version of Qt - doubt if that makes any difference
I have the src rather than the installer - might make a difference
I have compiled it into Qt rather than as a plugin - might make a difference, although I doubt it.
When I get time I will compile Qt with pgsql as a plug in. I can't think of any difference at the moment.
jacek, thank you very much for your support and your valuable ideas.
graeme.
Recently had a lot of trouble making QPSQL driver available in QT 4.3.1 version. But fun part was that - driver loaded correctly then i copied all dll from {%pgsql)\bin\ files to executable directory.
Copied files list.
comerr32.dll
depends.dll
gssapi32.dll
iconv.dll
k5sprt32.dll
krb5_32.dll
libeay32.dll
libiconv2.dll
libintl3.dll
libpq.dll
libxml2.dll
libxslt.dll
ssleay32.dll
Another interesting thing, that if I rename qsqlpsql4.dll to something else, driver still loads correctly :D :D. Perhaps I'm missing something, but at least it works now :)
By the way if drivers still does not get loaded try add this line in main.cpp file
qApp->addLibraryPath( qApp->applicationDirPath() + "/plugins");
And plugins directory should look like : plugins\sqldrivers\qsqlpsql4.dll