I have a dependency like this in a large project:
MyEXE --> MyDLL --> MyStaticLib
Which means that my executable (MyEXE
) is dependent on a dll (MyDLL
) and the dll uses an static lib (MyStaticLib
). The problem is that I can call the MyStaticLib
methods from MyEXE
and it compiles and links without any issues. I checked the Linker/Input page on Visual Studio (2015) of MyEXE
project, but I cannot find MyStaticLib
as one of the dependencies of MyEXE
.
Now the questions are:
- How it is possible for
MyEXE
to callMyStaticLib
methods without any explicit dependancies? - Is there any tools on Windows to list all of the static libs used by an executable? (here is a solution for Linux)
Update 1: There is no #pragma comment(lib, ...)
directive in the headers of the MyStaticLib. So, the static lib cannot be linked to the .exe using this directive.