Re: Building tds_fdw Extension for Windows 64bit

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: "Igal (at) Lucee(dot)org" <igal(at)lucee(dot)org>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Building tds_fdw Extension for Windows 64bit
Date: 2017-11-02 08:05:05
Message-ID: 1509609905.3268.3.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Igal @ Lucee.org wrote:
> After reading Craig's excellent blog post at https://blog.2ndquadrant.com/compiling-postgresql-extensions-visual-studio-windows/ I decided to try and build a real extension - tds_fdw.
> I've set it up in Visual Studio Community 2017, but am getting the following errors:
> Error    C2375    'tds_fdw_handler': redefinition; different linkage    tds_fdw    E:\Workspace\git\tds_fdw\src\tds_fdw.c    118   
> Error    C2375    'tds_fdw_validator': redefinition; different linkage    tds_fdw    E:\Workspace\git\tds_fdw\src\tds_fdw.c    156   
> Full output:
> 1>------ Rebuild All started: Project: tds_fdw, Configuration: Release x64 ------
> 1>deparse.c
> 1>options.c
> 1>tds_fdw.c
> 1>src\tds_fdw.c(118): error C2375: 'tds_fdw_handler': redefinition; different linkage
> 1>E:\Workspace\git\tds_fdw\include\tds_fdw.h(130): note: see declaration of 'tds_fdw_handler'
> 1>src\tds_fdw.c(156): error C2375: 'tds_fdw_validator': redefinition; different linkage
> 1>E:\Workspace\git\tds_fdw\include\tds_fdw.h(131): note: see declaration of 'tds_fdw_validator'
> 1>Generating Code...
> 1>Done building project "tds_fdw.vcxproj" -- FAILED.
> ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
> I'm not sure if it's related, but the FreeTDS version that I found for Windows is marked as 32bit and I am trying to build for 64bit.
> I believe that extensions like tds_fdw and pgloader will help users on TDS databases to migrate to Postgres and will improve adoption of the project.  I will be more than happy to publish my binaries of the extension if I ever get that far.
> Can anyone help?

Based on my experience with oracle_fdw, I would change the function declaration
in tds_fdw.h to

extern PGDLLEXPORT Datum tds_fdw_handler(PG_FUNCTION_ARGS);

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Igal @ Lucee.org 2017-11-02 15:24:03 Re: Building tds_fdw Extension for Windows 64bit
Previous Message Igal @ Lucee.org 2017-11-02 06:34:14 Building tds_fdw Extension for Windows 64bit