Skip to content

Export symbols from C library when compiling as a shared library on Windows #495

@paleolimbot

Description

@paleolimbot

We will have to check that this is actually the problem, but it may be that the lack of any exported symbols causes a problem when creating a shared library on Windows ( mesonbuild/wrapdb#1536 (comment) ). adbc.h has:

// Storage class macros for Windows
// Allow overriding/aliasing with application-defined macros
#if !defined(ADBC_EXPORT)
#if defined(_WIN32)
#if defined(ADBC_EXPORTING)
#define ADBC_EXPORT __declspec(dllexport)
#else
#define ADBC_EXPORT __declspec(dllimport)
#endif  // defined(ADBC_EXPORTING)
#else
#define ADBC_EXPORT
#endif  // defined(_WIN32)
#endif  // !defined(ADBC_EXPORT)

https://github.com/apache/arrow-adbc/blob/main/adbc.h#L152-L164

(Although I think this is slightly incorrect in that _WIN32 should maybe be _MSC_VER to better support gcc on Windows via msys2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions