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
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 <craig@xxxxxxxxxxxxxxxxxxxxx> wrote:
On 15/02/11 06:28, deepak wrote:The easiest way to do it on Windows is to make a new `contrib' module
> 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.
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.
You're missing critical macro definitions, among other things. Don't try
> 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>
to just invoke the compiler directly, use the build system to do it.
--
System & Network Administrator
POST Newspapers