Qt中PostgreSQL数据库驱动插件的编译
来源:互联网 发布:cad制图软件下载 编辑:程序博客网 时间:2024/05/02 02:21
Qt中PostgreSQL数据库驱动插件的编译
2012年1月19日
1 PostgreSQL概述
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的库函数,就可以进行编译了;
2 PostgreSQL编译
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工具箱;
3 PostgreSQL测试
新建一个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
如果成功加载,则没有相关提示;
- Qt中PostgreSQL数据库驱动插件的编译
- Qt编译PostgreSQL数据库驱动
- PostgreSQL的QT驱动编译
- 如何在QT中编译数据库驱动
- 如何在QT中编译数据库驱动
- qt编译mysql驱动插件
- qt编译oracle插件驱动
- QT中MySQL驱动的编译
- QT编译MySql数据库驱动
- Qt mysql数据库驱动编译
- QT编译Mysql数据库驱动
- Qt编译Oracle数据库驱动
- 如何在 静态编译的QT 5.5.1 中 使用数据库插件连接 ODBC
- Qt数据库添加MySQL数据库驱动插件
- 查看Qt中可用的数据库插件
- Qt连接PostgreSQL的驱动安装方法
- Windows平台下编译Qt的MySQL数据库驱动
- Windows下编译Qt的MySQL数据库驱动
- 黑马程序员--异常
- [LeetCode]Delete Node in a Linked List
- 黑马程序员—— 4,二维数组,面向对象,制作帮助文档,静态代码块,构造代码块,构造函数,单例设计模式
- 【试水CAS-4.0.3】第04节_CAS服务端通过数据库认证用户
- uva11235(RMQ问题)
- Qt中PostgreSQL数据库驱动插件的编译
- JAVA---揭秘StringBuffer的capacity
- 【.Net码农】WPF 模拟UI 键盘录入
- POJ2352 Stars
- 内存管理
- LeetCode OJ 之 Candy (糖果数量)
- 类和继承总结
- 排序算法之堆排序
- oracle10g监听器无法启动,提示“错误1067:进程意外终止”