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
>

Reply via email to