Thanks for the information.. However, I'm still unable to figure how to do a clean build of extensions on Windows using VS 2008.
To start with, the main contrib module doesn't seem to have a nmake-compatible Makefile, and I don't seem to find any project under 'contrib' which has a Windows-compatible build.. >From the earlier command line I had posted, it appears that there's a conflict between 'errcode' defined in VS (crtdefs.h) and the one that PostgreSQL brings (utils/elog.h). Specifically, here is the error: \pgsql\include\server\utils/elog.h(118) : error C2365: 'errcode' : redefinition; previous definition was 'typedef' C:\Program Files (x86)\Microsoft Visual Studio 2008 Professional Edition - ENU\VC\INCLUDE\crtdefs.h(548) : see declaration of 'errcode' -- Deepak On Mon, Feb 14, 2011 at 10:25 PM, Craig Ringer <cr...@postnewspapers.com.au>wrote: > On 15/02/11 06:28, deepak wrote: > > Hi! > > > > I was trying to build PostgreSQL 9.0.1 using VS2008. I am having > > problems building the C extensions. I could build the main package, > though. > > The easiest way to do it on Windows is to make a new `contrib' module > and compile as part of the main build. Just copy the structure of an > existing contrib module to get the idea. > > I don't know if pgxs works on Windows, having never tried it. If it > does, that's another alternative. > > > Here is the CL command line I'm using to compile: > > cl /I \pgsql\include\server /I \pgsql\include\server\port\win32 /LD > > \pgsql\lib\postgres.lib <c-filename> > > You're missing critical macro definitions, among other things. Don't try > to just invoke the compiler directly, use the build system to do it. > > -- > System & Network Administrator > POST Newspapers >