[lldb-dev] Circular library dependencies
gclayton at apple.com
Wed Mar 18 10:00:16 PDT 2015
> On Mar 17, 2015, at 6:30 PM, Zachary Turner <zturner at google.com> wrote:
> Sadly DLLs don't work quite the same on windows as they do on other platforms. On Windows a symbol is not exported unless you specifically tag the symbol with a compiler attribute. So being able to use a class this way from a test would require exporting it and everything it exposes from its public interface, so it will quickly grow out of control tagging every function and class this way. See the class definitions on the public API for examples of where we do this.
Yeah, we don't want to pollute all private classes with preprocessor macros to allow the classes to be exported under certain circumstances as we don't want people seeing this and thinking it is ok to export anything from the private layer.
> Another option is to make one unit test executable so at least we don't have to pay for the link multiple times. That seems like the best compromise if we can't figure out a better idea.
More information about the lldb-dev