VS2010编译PostgreSQL 9.2.2

我用的是VS2010英文专业版,PostgreSQL的版本是9.2.2,操作系统的平台是win7 32bit/64bit。

首先下载PostgreSQL 9.2.2的源码,链接地址是http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.gz。下载完成后进行解压。

在Windows平台下编译需要跳过一个权限的检测,否则在编译的时候可能会出现错误。具体的做法是修改一下postgresql-9.2.2\src\backend\main\main.c这个源文件,在源文件的的第168行,把这行(check_root(progname);)注释掉。

1165 /* 2166 * Make sure we are not running as root. 3167 */ 4168 //check_root(progname); 5169 6170 /* 7171 * Dispatch to one of various subprograms depending on first argument. 8172 */

之后打开Microsoft Visual Studio 2010中自带的Visual Studio Tools中的Visual Studio Command Prompt (2010),注意如果是32bit的系统打开的是这个,要是64bit的系统打开的是Visual Studio Command x64 Prompt (2010)。切换到源码目录的postgresql-9.2.2\src\tools\msvc,如下图:

输入命令build,将会自动编译,编译需要一定的时间,稍微等一下。编译结果应该是0 Error(s)即可。

编译后会在postgresql-9.2.2这个目录下生成大量文件,找到pgsql.sln文件,双击即可运行VS2010并加载该解决方案。之后Build该解决方案(Build Solution),如下图:

再次等待一下Build的漫长过程,最后终于出现了令人激动的提示啊,如下图:

Windows环境下的编译算是完成了,如果这112个工程有没有Build通过的,哪个没有通过再单独Build哪个就行了。

在后面还会介绍VS 2010中追PostgreSQL源码的工程以及PostgreSQL 9.2.2在Linux环境下用Eclipse编译过程。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )