-
Notifications
You must be signed in to change notification settings - Fork 512
Description
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.