Standardly, in the studio nothing like this is provided. It is assumed that the developer himself knows which libraries are used in his project and manages them himself.
However, there are libraries that can be implicitly linked, and the linking method (static / dynamic) can be configured in the project parameters:
- CRT is configured by the "C / C ++ \ Code Generation \ Runtime Library" parameter, by default dynamic linking is enabled and it is because of it that newbies have problems with software distribution; If you enable static linking, then the DLL will not need to be pulled.
- MFC - configured "General \ Use of MFC", not used by default
- ATL - configured "General \ Use of ATL", not used by default
The problem is that on the developer's machine all these libraries are installed along with the studio and therefore the software runs from any location. But on the user's machine, these libraries are often not there, from here the beginners have problems. The problem is solved either by static linking, or by installing the appropriate packages (redists) of the required versions (links are successfully located on the Microsoft website)
The second problem is that with automatic loading of a DLL, it is required that all libraries within the same binary link up the same way. This means, for example, that if QT links to CRT are dynamic, then our binary should link CRT dynamically. This can be bypassed if you use not automatic but manual loading of a DLL, but then the hemorrhag will grow many times. It's easier to slightly increase the installer in size, I can believe it.