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.

 

Reply via email to