Skip to content

Support building DLL for windows  #1105

@lalitb

Description

@lalitb

opentelemetry-cpp uses bazel and cmake to build the required targets. These targets are by default created as static libraries.
To create shared libraries / DLLs, we can just add -DBUILD_SHARED_LIBS=ON to cmake, and linkstatic=False flag in cc_library/cc_binary rule in bazel.
This works fine for building shared libraries(.so) on Unix-like systems but doesn't work by default for DLL on Windows. This needs code changes to define export/import declarations for all exporter API and classes. As each DLL on Windows will have its own heap for memory usage and symbols.

More discussions from the slack channel here (Need to be part of cloud-native.slack.com Org to view the discussions ):
https://cloud-native.slack.com/archives/C01N3AT62SJ/p1626285244072700
https://cloud-native.slack.com/archives/C01N3AT62SJ/p1637665049041200

While there is no immediate plan to support this requirement, unless there is enough traction on this issue, and contributors are ready to add the support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions