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
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general