-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Headers that use static to give variables internal linkage can't easily be used, since those can't be exported. The first step in resolving the issue is to exclude these symbols to actually get it to compile. This was completed in 6e222bc.
A better solution would be to come up with a way to have these still be accessible if possible (behind an optional flag, because it would certainly change the semantics). Redeclaring them as inline needs to be investigated as a potential solution, though that would definitely change the semantics of the variable if it's modifiable so that needs to be accounted for. In these cases I think it's almost always better to have the user modify the library to make the most appropriate change depending on the intended semantics of the particular library. Many libraries simply use static because they're targeting a version of C++ that doesn't support inline and could simply gate an inline specifier on the variable behind a feature test macro to resolve this.