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 
MyEXEto callMyStaticLibmethods 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.