>Try to linking just with the .exe.
Right, this is the most common advice. I was trying to avoid that; I have my 3 static libraries which in turn link to 20 individual libraries. I don't want every application that uses my 3 static libraries to have to explicitly link to all those individual libraries.
And I still don't get the argument for why this i frowned upon. If my library contains a static version of the declarations from a dynamic library, or if those declarations are in the application itself, seems to be reaching the same endpoint. The dynamic library changes and either the application or the static library has to be updated. But in one case I'm linking every application to 20 libraries, and in the other i'm only linking to 3 which manage those 20.