Moje dwa krótkie fragmenty na ten temat: 10 (przepraszam, okropny żart).
Aby nieznacznie rozszerzyć, oto:
1- Biblioteka statyczna może zależeć od innej biblioteki statycznej, niczego, a nawet biblioteki dynamicznej: w pierwszych dwóch przypadkach cały kod nowej biblioteki statycznej zostanie włączony do nowej SLL (Biblioteka łączy statycznych), jednak trzecia opcja , w zależności od środowiska może doprowadzić do uzyskania przez SLL jednego z następujących rezultatów,
- zawierałby statyczne wersje wymaganego przez siebie kodu zebranego z DLL (Dynamic Link Library)
- lub, co bardziej okropne, miałbyś bibliotekę statyczną, która po włączeniu do projektu wymagałaby wysyłki z biblioteką DLL, co przerwałoby cały sens statycznego łączenia.
Krótko mówiąc, możesz połączyć bibliotekę statyczną z biblioteką statyczną
2 - jeśli zarówno lib1, jak i lib2 są statyczne, a lib1 zostało połączone z lib2, wówczas cała funkcjonalność lib2 byłaby dostępna w lib1 bez potrzeby dołączania lib2, ponieważ lib2 byłby statycznie powiązany w lib1 (pomyśl rosyjskie lalki z lib2 bycie mniejszym).
W opisywanym scenariuszu w każdym z plików, które musisz dołączyć, musi być dostępna dyskretna funkcjonalność, która nie jest statycznie powiązana, stąd potrzeba wielu plików, w przeciwnym razie będziesz mieć jeden plik do włączenia i wszystko będzie dobrze.
Wykonaj następujące czynności: jeden plik .h z odniesieniami do 6 statycznie połączonych bibliotek: aby uzyskać pełną funkcjonalność, w projekcie musisz uwzględnić 7 plików
Jedna SLL, która została utworzona z tego pliku .h wymagałaby dołączenia tylko nowej SLL do łączenia w kompilacji:
Mam nadzieję, że to pomoże i zrozumiałem, o co prosiłeś.