Qt中PostgreSQL数据库驱动插件的编译
2012年1月19日
postgresql默认编译Sqlite和ODBC
其它没有编译的文件要手动进行编译,编译过程在帮助文件里有说明;
cd%QTDIR%\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=C:\psql\include""LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
nmake
在Qt的源文件中有psql的工程文件,只要添加相应的postgresql的库函数,就可以进行编译了;
将其安装在C:\pgsql中;如果是win32的安装程序,如果在ProgramFile文件夹下,则应将其内容Copy到无空格的目录中;
cd%QTDIR%\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=C:\psql\include""LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
nmake
在Qt/plugins/sqldrivers下会出现qsqlpsqld4.dll/lib的相关文件;
将PostgreSQL目录下BIN中的全部dll都Copy到应用程序的Debug目录中,主要包括SSL和字符编码类型转换的相关内容;
新建一个qt工程,加入如下语句:
#include <QtSql>
QSqlDatabasedb=QSqlDatabase::addDatabase("QPSQL");
QStringListlstDrivers=QSqlDatabase::drivers();
qDebug()<<"Support Drivers:";
foreach(QStringdriver,lstDrivers)
{
qDebug()<<driver;
}
编译成功的话,会在output中出现如下:
Support Drivers:
"QSQLITE"
"QODBC3"
"QODBC"
"QPSQL7"
"QPSQL"
如果没有加载postgresql的话,会出现提示:
QSqlDatabase: QPSQL driver not loaded
如果成功加载,则没有相关提示;