在Windows平台下编译需要跳过一个权限的检测,否则在编译的时候可能会出现错误。具体的做法是修改一下postgresql-9.2.2\src\backend\main\main.c这个源文件,在源文件的的第168行,把这行(check_root(progname);)注释掉。
修改\src\tools\msvc路径下的Mkvcbuild.pm文件,将第54行vsVersion注释掉,直接将vsVersion替换为当前的vs编译器版本,版本号注意需要精确到小数点后第二位,譬如vs2008版本9.00,即vsVersion = '9.00'。
VS版本号对应如下
Visual Studio 2010 | 10.0 |
Visual Studio 2008 | 9.0 |
Visual Studio 2005 | 8.0 |
Visual Studio .Net 2003 | 7.1 |
Visual Studio .Net 2002 | 7.0 |