我用的是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);)注释掉。
165 /*
166 * Make sure we are not running as root.
167 */
168 //check_root(progname);
169
170 /*
171 * Dispatch to one of various subprograms depending on first argument.
172 */
之后打开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编译过程。