编译前准备   

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引用错误

使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)的更多相关文章

  1. C#访问postgresql数据库

    最近开始做C#的DotNet的工作,因为对PostgreSQL数据库比较有兴趣,所以自己研究了一下如何访问PostgreSQL的 数据库的问题. 1.为了访问PostgreSQL数据库,需要从pgfo ...

  2. C/C++访问PostgreSQL数据库

    编号:1011时间:2016年5月17日09:46:01功能:Windows环境下C/C++访问PostgreSQL数据库https://segmentfault.com/a/119000000062 ...

  3. Postgresql ODBC驱动,用sqlserver添加dblink跨库访问postgresql数据库

    在同样是SQLserver数据库跨库访问时,只需要以下方法 declare @rowcount int set @rowcount =(select COUNT(*) from sys.servers ...

  4. C#访问PostGreSQL数据库的方法 http://www.jb51.net/article/35643.htm

    这次的项目中的一个环节要求我把PostGreSQL数据取出来,然后放到SqlServer里,再去处理分析. http://www.jb51.net/article/35643.htm - 我对Post ...

  5. C# 应用 - 封装类访问 Postgresql 数据库

    引入库类 连接数据库 访问数据库 1)增删改数据库 2)查数据库 数据转换 事务 1. 引入库类 引入 Npgsql.dll using Npgsql; using NpgsqlTypes; 2. 连 ...

  6. 通过unixODBC访问PostgreSQL数据库

    磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面:PostgreSQL基础知识与基本操作索引页    回到顶级页面:PostgreSQL索引页[作者 高健@博客园  luckyjackgao@g ...

  7. 将gitlab中的postgresql数据库开通远程访问

    postgresql数据库是gitlab的一个配置数据库,记录gitlab的一些配置信息. 我们访问gitlab中的postgresql数据有本地命令行访问和远程可视化软件访问2种方式. (一)本地命 ...

  8. win7 安装用mingw编译的Qt源码并连接postgresql

    下载Qt 1.下载qt-creator-windows-opensource-2.8.0,下载路径:http://download.qt.io/official_releases/qtcreator/ ...

  9. PostgreSQL数据库中跨库访问解决方案

    PostgreSQL跨库访问有3种方法:Schema,dblink,postgres_fdw. 方法A:在PG上建立不同SCHEMA,将数据和存储过程分别放到不同的schema上,经过权限管理后进行访 ...

随机推荐

  1. windows 7 文件加密设置

    方法/步骤1 加密文件 1 右击需加密的文件,选择“属性”命令. 2 在属性对话框的“常规‘选项卡中单击”高级“按钮. 3 在弹出的对话框中选中”加密内容以便保护数据“复选框,单击”确定“按钮. 4 ...

  2. Android入门级编译错误汇总

    1  描写叙述:  项目常常须要引用别人的libraryproject,在选项中add进来后,点击应用或者确定.关闭页面. 回到代码中却发现无法链接,又一次打开properties查看,发现导入的pr ...

  3. SpringMVC之application-context.xml,了解数据库相关配置

    上一篇SpringMVC之web.xml让我们了解到配置一个web项目的时候,怎样做基础的DispatcherServlet相关配置.作为SpringMVC上手的第一步.而application-co ...

  4. 11种常见sqlmap使用方法

    sqlmap是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题. 一.SQLMAP用于Access数据库注入 (1) 猜解是否能 ...

  5. ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(三)

    照例文章第一段跑题,先附上个段子(转载的哦~): I hate CS people. They don't know linear algebra but want to teach projecti ...

  6. 【手势交互】8. Nimble Sense

    早在2012.2013年度,手势识别领域就发生了几起重要的行业并购.比方英特尔对Omek的收购,谷歌对Flutter的收购.而苹果公司更是以3.45亿美金得高价收购了之前为微软Kinect提供技术支持 ...

  7. MySQL-查询数据(SELECT)

    MySQL SELECT语句 SELECT语句用于从表或视图中获取数据 Select语句组成 Select 之后是逗号分隔列或星号(*)的列表,表示要返回所有列. From 指定要查询数据的表或视图. ...

  8. Canny算法源码,欢迎交流

    http://blog.csdn.net/jianxiong8814/article/details/1563109 http://blog.csdn.net/assuper/article/deta ...

  9. Delphi中SendMessage使用说明(所有消息说明) good

    Delphi中SendMessage使用说明 SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数Po ...

  10. luogu1941 飞扬的小鸟

    题目大意 游戏界面是一个长为n ,高为 m 的二维平面,其中有k 个管道(忽略管道的宽度).小鸟始终在游戏界面内移动.小鸟从游戏界面最左边任意整数高度位置出发,到达游戏界面最右边时,游戏完成.小鸟每个 ...