Dlaczego tak
Przy konsolidacji statycznej kod używanych funkcji z biblioteki (.lib lub .a) zostaje skopiowany do pliku wykonywalnego, który jest większy, ale nie potrzebuje żadnych zewnętrznych plików. Biblioteka dynamiczna (.dll, .so) jest ładowana w chwili uruchomienia, więc musi być obecna na komputerze klienta — jej brak to częsty powód błędu startu programu. Pliki nagłówkowe zawierają tylko deklaracje i nie zastępują kodu biblioteki.