加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Qt中PostgreSQL数据库驱动插件的编译

发布时间:2020-12-13 17:17:01 所属栏目:百科 来源:网络整理
导读:Qt中PostgreSQL数据库驱动插件的编译 2012年1月19日 1 PostgreSQL概述 postgresql默认编译Sqlite和ODBC 其它没有编译的文件要手动进行编译,编译过程在帮助文件里有说明; cd%QTDIR%srcpluginssqldriverspsql qmake "INCLUDEPATH+=C:psqlinclude""LIBS+=

Qt中PostgreSQL数据库驱动插件的编译

2012年1月19日

1 PostgreSQL概述

postgresql默认编译Sqlite和ODBC

其它没有编译的文件要手动进行编译,编译过程在帮助文件里有说明;

cd%QTDIR%srcpluginssqldriverspsql

qmake "INCLUDEPATH+=C:psqlinclude""LIBS+=C:psqllibmslibpq.lib" psql.pro

nmake

在Qt的源文件中有psql的工程文件,只要添加相应的postgresql的库函数,就可以进行编译了;

2PostgreSQL编译

2.1 下载PostgreSQLwindow32编译程序

将其安装在C:pgsql中;如果是win32的安装程序,如果在ProgramFile文件夹下,则应将其内容Copy到无空格的目录中;

2.2 编译PostgreSQL在Qt数据库驱动插件;

cd%QTDIR%srcpluginssqldriverspsql

qmake "INCLUDEPATH+=C:psqlinclude""LIBS+=C:psqllibmslibpq.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"

如果没有加载postgresql的话,会出现提示:

QSqlDatabase: QPSQL driver not loaded

如果成功加载,则没有相关提示;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读