使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)相关的知识,希望对你有一定的参考价值。
编译前准备
1. 安装mingw
安装mingw(不管是直接安装mingw还是其他如code::blocks附带安装的mingw),输入:gcc -v可显示如下图的版本信息,我的版本是mingw32 4.9.2。
2. 安装postgresql
postgresql各个版本下地址:http://www.enterprisedb.com/products-services-training/pgdownload#windows
注意:要下载与mingw编译器对应的版本,如果是mingw32请下载32bit安装包或者编译包;如果是mingw64,请下载64bit安装包或者编译包。
libpqxx是基于libpq的C++实现,libpqxx对libpq的C-API进行了很好的封装,开发人员使用时可以节省大量的编码时间。如果觉得自己C水平不错,可以直接去使用libpq。
libpq的编译方法:https://www.postgresql.org/docs/9.5/static/install-windows-libpq.html 【postgresql的文档真的很全】。
3.libpqxx编译
libpqxx下载地址:http://pqxx.org/download/software/libpqxx/
解压下载的文件后,进入目录libpqxx-4.0.1\win32,复制common-sample文件,修改文件名为common。
#PGSQLSRC="C:\Sources\postgresql-9.1.1\src"
PGSQLSRC="C:\Program Files (x86)\PostgreSQL\9.5"
#LIBPQINC=$(PGSQLSRC)\interfaces\libpq
#LIBPQPATH=$(PGSQLSRC)\interfaces\libpq\Release
#LIBPQDLL=libpq.dll
#LIBPQLIB=libpqdll.lib
LIBPQPATH=$(PGSQLSRC)\lib
LIBPQDLL=libpq.dll
LIBPQLIB=libpq.lib
#LIBPQDPATH=$(PGSQLSRC)\interfaces\libpq\Debug
#LIBPQDDLL=libpqd.dll
#LIBPQDLIB=libpqddll.lib
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib
将libpqxx-4.0.1\config\sample-headers\compiler\MinGW-3.4\pqxx\目录下的所有头文件拷贝到include\pqxx目录下;
将libpqxx-4.0.1\config\sample-headers\libpq\9.0\pqxx\目录下的所有头文件拷贝到include\pqxx目录下。
切换到libpqxx-4.0.1\目录下,运行命令:mingw32-make -f win32\MinGW.mak ALL。
安装postgresql时一定要安装与编译器对应的版本,否则编译时会报DLL引用错误
以上是关于使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用libpqxx中的pqxx :: stateless_cursor类?
使用vs2015编译器编译libpqxx时发生的错误以及解决办法
PostgreSQL C++ Api 出现错误 LNK1107:文件无效或损坏:无法在 0x2E8 读取