I can't seem to figure out how to perform implicit linking between a cc_binary dll and cc_binary exe. Is this supported and I'm just not doing it right, or something I should file a feature request for?
As opposed to explicit linking, which is demonstrated in the bazel sample here (
https://github.com/bazelbuild/bazel/tree/master/examples/windows/dll), implicit linking needs to pass the .lib generated during linking of the dll into its dependencies. Though the .lib is generated when bazel builds the dll I can't seem to find a way to get bazel to expose it or accept it in dependent rules.
In the dll example I'd expect to be able to have a hello-world-implicit.cpp that did the following:
```
#include <stdio.h>
#include <windows.h>
__declspec(dllimport) char *get_time();
__declspec(dllimport) void say_hello(char *message);
int main() {
char *now = get_time();
say_hello(now);
return 0;
}
```
And a build rule like:
```
cc_binary(
name = "hello-implicit",
srcs = [
"hello-world-implicit.cpp",
],
deps = [":hellolib.dll"],
)
```
Building :hellolib will cause a hellolib.lib to be written to blaze-bin but I can't get at it and bazel itself is not passing it to the linking of the exe so get_time and say_hello will be unresolved.
Thoughts? Workarounds?