2012年1月19日
1 PostgreSQL概述
其它没有编译的文件要手动进行编译,编译过程在帮助文件里有说明;
cd%QTDIR%\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=C:\psql\include""LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
nmake
在Qt的源文件中有psql的工程文件,只要添加相应的postgresql的库函数,就可以进行编译了;
2Postgresql编译
2.1 下载Postgresqlwindow32编译程序
将其安装在C:\pgsql中;如果是win32的安装程序,如果在ProgramFile文件夹下,则应将其内容copy到无空格的目录中;
2.2 编译Postgresql在Qt数据库驱动插件;
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的相关文件;
2.3 将Postgresql需要的dll复制到应用程序中
将Postgresql目录下BIN中的全部dll都copy到应用程序的Debug目录中,主要包括SSL和字符编码类型转换的相关内容;
2.3.1 libeay32.dll:是OpenSSL加密特性相关文件,用于通过网络加密传输;
2.3.2 libiconv-2.dll:GNU提供的用于Unicode和其它不同编码类型之间转换的工具(iconv()函数);
2.3.3 libintl-8.dll:GNU提供对原生语言支持(gettext()函数);
2.3.4 libpq.dll:postgresql入口程序;
2.3.5 sseay32.dll:OpenSSL工具箱;
3Postgresql测试
新建一个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"
QsqlDatabase: QPsql driver not loaded
如果成功加载,则没有相关提示;
原文地址:https://www.jb51.cc/postgresql/195096.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。