qt已自带 qsqlpsql.dll,但可能跟你安装的postgresql不兼容,这时候需要自己编译 qsqlpsql.dll
编译 qsqlpsql.dll 需要用到 postgresql 的bin, include, lib目录,注意,必须是32位的postgresql。我在使用64位的库时,在链接时候会出现找不到定义符号的错误。
最后 编译步骤可参照assistant
set PATH=C:/psql/bin;%PATH%
cd %QTDIR%\qtbase\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=C:/psql/include" "LIBS+=C:/psql/lib/ms/libpq.lib" psql.pro
mingw32-make
最后把编译出来的 qsqlpsql.dll 和 qsqlpsqld.dll 复制到 qt的bin目录,同时还要复制postgresql的几个库:
libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、ssleay32.dll