Hi,
I am trying to code Postgres external C function in windows XP and am using Postgres 8.3 version.
However I have included all the required things in the code to run (Please find below the example code which I am compiling using MSVC and generating the dll)
_________________________________________________________________
// add.cpp : Defines the entry point for the DLL application.
//
#define _USE_32BIT_TIME_T
#include "postgres.h"
#include "fmgr.h"
//#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
//#endif
PG_FUNCTION_INFO_V1(add_one);
Datum add_one(PG_FUNCTION_ARGS)
{
int32 arg = PG_GETARG_INT32(0);
PG_RETURN_INT32(arg + 1);
}
_____________________________________________________________________
I could compile the code successfully and generate the dll with no errors but whenever I am compiling the below postgres functuion using the dll the it thrown an error saying
ERROR: incompatible library "C:/Program Files/PostgreSQL/8.3/lib/add.dll": missing magic block
HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.
Postgres Function
CREATE OR REPLACE FUNCTION add_one(IN int) RETURNS int AS '$libdir/add', 'add_one' LANGUAGE C;
Please provide your help at the earliest as this is really a show stopper for us.