On 01/27/2013 01:14 AM, Anderson C. Carniel wrote:
> Hi,
>
> I'm trying to build a. dll file to extend the postgres server with C
> functions. I'm using visual studio 2012 to build the dll, and
> PostgreSQL 9.2. I imported all directories postgres "\include\server*"
> But I'm having the errors:
>
>     error C2011: 'timezone': 'struct' type redefinition
>
>     error C2011: 'itimerval': 'struct' type redefinition
>
> In the file *pg_confi_os.h* at line 205 and 214
>

First, you'll want to build with Visual Studio 2010 or older. The
Express edition works fine.

Second, it's very unlikely that you can just compile the extension .c
file stand-alone. You'll need to set a bunch of preprocesor definitions,
some of which are somewhat configuration/environment specific.

The best way to compile extensions at the moment may be to get the
PostgreSQL source tree, add your extension as a folder inside the
contrib/ directory with a Makefile, then use the tooling in
src/tools/msvc to compile the source tree including the extension.

I would really like to see this improve, with a working PGXS alternative
for Windows MSVC builds. I'm not presently aware of anything, but I
haven't investigated building extensions out of tree under Windows/MSVC
in detail yet.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Reply via email to