使用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安装包或者编译包。

为什么要安装postgresql?

       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

 解压下载的文件后,进入目录libpqxx-4.0.1\win32,复制common-sample文件,修改文件名为common。

 打开common,修改如下('#'为屏蔽符号):

              #PGSQLsrc="C:\Sources\postgresql-9.1.1\src"

              PGSQLsrc="C:\Program Files (x86)\PostgreSQL\9.5"

              #LIBPQINC=$(PGSQLSRC)\interfaces\libpq

              LIBPQINC=$(PGSQLSRC)\include

              #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。

如果按照如上操作,应该会完成libpqxx编译。

安装postgresql时一定要安装与编译器对应的版本,否则编译时会报DLL引用错误

相关推荐