I have an MSVC ++ project consisting of an executable file, several native static libraries and some pre-compiled static third-party libraries. Exe uses incremental binding to speed up build time.
When I modify a .cpp file in an executable project, compilation + binding is very fast (<10s).
However, when I modify the .cpp file in one of my own libraries, the executable project seems to make a full reference to every library it uses.
I am no longer sure if this is a full link, but from Linker Warnings's "vc90.pdb not found" link I can say that it is linked to some external libraries that haven't changed at all.
Here is an example project structure:
- Precompiled third-party libraries
ExtLib1, ExtLib2andExtLib3 - Native library
MyLibusing third-party libExtLib1 - Own exe
MyExeusing MyLibandExtLib1-3
Changing file .cpp to MyLiblead to binding MyExeto the MyLib, ExtLib1, ExtLib2, and ExtLib3, even if included incremental binding.
A full link takes about 5 minutes in my project, so I ask: Is there a way to reassign only the modified library?
source
share