From: | "Igal (at) Lucee(dot)org" <igal(at)lucee(dot)org> |
---|---|
To: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Building tds_fdw Extension for Windows 64bit |
Date: | 2017-11-02 15:24:03 |
Message-ID: | 21b32984-8b50-60c2-0263-17aaa3ed61ce@lucee.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 11/2/2017 1:05 AM, Laurenz Albe wrote:
> 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);
Thanks, Laurenz, but I am still getting the same error after prefixing
the PGDLLEXPORT statements with `extern` in the `.c` files. The `.h`
files already had `extern` for those declarations.
Any other ideas?
Thank you,
Igal
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-11-02 15:40:14 | Re: Building tds_fdw Extension for Windows 64bit |
Previous Message | Laurenz Albe | 2017-11-02 08:05:05 | Re: Building tds_fdw Extension for Windows 64bit |